类的说明:
DriverManager驱动管理器,用于获得数据库的连接
Connection 数据库连接,用于连接数据库
PreparedStatement 命令对象,用于执行SQL命令
ResultSet 结果集,包含多条查询的结果
连接过程:
1.加载驱动。
//加载驱动包中的驱动类到内存中
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
2.连接MySQL数据库
//通过驱动管理器,连接数据库
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/cloudnotes","root","199616");
System.out.println("连接完毕");
} catch (SQLException e) {
e.printStackTrace();
}
数据库插入的完整代码(删除与修改类似):
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/cloudnotes","root","199616");
ps = conn.prepareStatement("insert into users(username,password) values(?,?)");
ps.setString(1, "admin");
ps.setString(2, "123456");
int count = ps.executeUpdate();
System.out.println("成功插入"+count+"条记录");
} catch (SQLException e) {
e.printStackTrace();
}
数据库查询的完整代码:
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/cloudnotes","root","199616");
ps = conn.prepareStatement("select * from users");
ResultSet rs = ps.executeQuery();
while(rs.next()){
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println("账号:"+username+",密码:"+password);
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
总结:
1.加载驱动 Class.forName
2.获得数据库连接 DriverManager.getConnection
3.创建命令对象 PrepareStatement
4.执行命令
executeUpdate 执行增删改
executeQuery 执行查询
5.查询ResultSet 逐行读取 next、getXXX。
6.关闭ResultSet、命令对象、连接对象