环境
MySQL版本:5.0
数据库截图
分析
JDBC连接数据库分为以下几个步骤。
- 加载驱动
- 创建连接
- 获得statement对象
- 获取执行sql
- 处理结果集(可有可不有)
- 关闭数据库连接
简答案例
以下是一个查询数据的简单案例。
try{
Class.forName("com.mysql.jdbc.Driver");
//创建连接
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
//sql语句
String sql="select * from user";
//获得statement对象
PreparedStatement statement=connection.prepareStatement(sql);
//执行sql
ResultSet resultSet=statement.executeQuery();
//处理结果集
while(resultSet.next()){
System.out.println(resultSet.getInt(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
}
//关闭
if (resultSet!=null){
resultSet.close();
}
if (resultSet!=null){
statement.close();
}
if (resultSet!=null){
connection.close();
}catch (Exception e){
e.printStackTrace();
}
增
String sql="INSERT INTO user (id,username,password) VALUES (NULL ,'lyq','123')";
删
String sql="DELETE FROM user WHERE id=3";
改
String sql="UPDATE user set password ='123456' WHERE id=1";
DBUtils
我们可以把相同的步骤拿出来写在一起,例如加载驱动,连接数据库,关闭数据库。
public static Connection getConnection() {
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//创建连接
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
return connection;
} catch (Exception e) {
e.printStackTrace();
}
return getConnection();
}
public static void closeAll(ResultSet resultSet, Statement statement,Connection connection) {
try{
if (resultSet!=null){
resultSet.close();
}
if (resultSet!=null){
statement.close();
}
if (resultSet!=null){
connection.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
这样一来我们的数据库操作类可以简洁一点,这里把上面的查询数据库修改一下。
try{
//加载驱动
//创建连接
Connection connection= DBUtil.getConnection();
System.out.println("创建连接成功!");
//sql语句
String sql="select * from user";
//获得statement对象
PreparedStatement statement=connection.prepareStatement(sql);
//执行sql
ResultSet resultSet=statement.executeQuery();
//处理结果集
while(resultSet.next()){
System.out.println(resultSet.getInt(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
}
//关闭
DBUtil.closeAll(resultSet,statement,connection);
}catch (Exception e){
e.printStackTrace();
}