下面是一个从 mysql 数据库获取用户信息的例子,可以参考一下:
import java.sql.Connectionimport java.sql.DriverManager
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Statement
import java.util.ArrayList
import java.util.List
// 用户类,存储单个用户信息
class User {
private int id
private String name
public User(int id, String name) {
this.id = id
this.name = name
}
public int getId() {
return id
}
public void setId(int id) {
this.id = id
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]"
}
}
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息
// 放到 List 中
// 加载数据驱动
Class.forName("com.mysql.jdbc.Driver")
// 数据库连接字符串, 此例数据库为 test
String url = "jdbc:mysql://localhost:3306/test"
String user = "root" // 数据库用户名
String password = "" // 数据库密码
// 打开一个数据连接
Connection conn = DriverManager.getConnection(url, user, password)
Statement stmt = conn.createStatement()
// 获取表 tb_users 所有用户信息到结果集中
ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")
// 定义一个存放用户信息的 List
List<User> users = new ArrayList<>()
// 提取用户信息,并将用户信息放入 List
while (rs.next()) {
// 获取用户ID
int id = rs.getInt(1)
// 获取用户名
String name = rs.getString(2)
users.add(new User(id, name))
}
rs.close()
stmt.close()
conn.close()
// 显示用户信息
for (User u : users) {
System.out.println(u)
}
}
}
1. 在开发环境中加载指定数据库的驱动程序。接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。
2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。
3. 在Java程序中加载驱动程序。
在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”
方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。
4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。
DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC
Connection 对象。代码如:Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名",
"密码”)。
其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:
Connection connectMySQL =
DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"
,"root" )
5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL
语句并返回它所生成结果的对象。
通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =
connection.createStatement()具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement()
6. 调用Statement对象的相关方法执行相对应的 SQL
语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:
statement.excuteUpdate( "INSERT INTO
staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,
'M', 'china','Personnel','3','3000' ) ")
7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到
ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:
ResultSet resultSel =
statement.executeQuery( "select * from staff" )
8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。
安装配置MySQL1.首先打开运行mysql-5.5.29-winx64.msi(就是上面的MySQL V5.5),你会进入到安装界面:
2.接下来。。。next->next。。。一直点击next,当你看到这样的界面:
这个是选择MySQL的安装目录。我的习惯是开发工具一般都选择默认的路径。当然你想使用其他路径也行,不过还是要提醒一点,路径不要包含中文。
继续next。
这个是MySQL服务的端口号,我们最好不要修改,不过要记住这个值3306。
然后next。。。欢迎你来到坑前!(我没让你踩呢,不急)
这个界面是设置我们MySQL系统的字符集。默认是让我们选择字符集”Latin1”,我就问你你知道这个是什么字符集吗。。。那你不要怪我孤陋寡闻,我第一次就是直接默认过去,最后发现,我的数据库不能使用中文!会出现乱码。然后也是折腾了好久才解决。
我们何不一开始就把问题解决呢对吧。这里我们选择第三项,然后选择字符集”gbk”,这个不用解释了吧。。。见下图:
继续next。看到设置管理员账号信息界面了吧:
选中第一个,然后输入密码(建议记性不好的同学使用密码”123456”。。。=。=)。设置好密码之后,你登陆MySQL的账号就是:
userName:root
password:***(你的密码)*
接下来嘛。。。等。。。wait。。。
不过相信我这个过程不会持续很久。Done:
3.接下来,检查下MySQL是否正确安装:
“我的电脑”->”管理”->”服务”。查看MySQL服务是否启动:
如果你发现你的MySQL尚未启动,可以在”运行”中使用”net start mysql”启动服务。然后在任务管理器中查看MySQL的运行状态: