前言
暑期线上实训的第二节课。今天学习的是Sql的安装,以及使用java对数据库的增删改查操作。
数据库准备
服务
我是用的是老师整合提供的一键式数据库SQLyog,只需要打开压缩包中的数据库启动文件就可以完成对应服务,之后直接进入yog即可使用。
SQLyog
新建一个名为“cyq”的连接,创建数据库“wzsxy”,新建表“tb_user”,设置好表的各项属性。
然后往里头随便输入一点数据,为接下来的操作铺垫。
jar包
首先是在idea新建项目,顺便将之后的增删改查四个类也给弄弄好,大致如下:
再把之前准备好的jar包放入lib文件夹中,并添加到库。
到这里,开始前的准备工作基本算是完成了。
正式开始
主要任务
任务很明确:用java语句连接上SQL数据库、完成增删改查操作。
步骤
1.加载驱动
2.创建链接
3.定义sql语句
4.获得statement对象
5.执行sql,返回并处理得到的结果
6.释放资源
创建链接
既然增、删、改、查四个操作都需要与数据库创建链接,那么直接将加载驱动与创建链接两个步骤封装到DBUntil下就可以了。
同理,最后的释放资源步骤一样可以存放到DBUntil中。
package com.rz.util;
import java.sql.*;
public class DBUtil {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建连接
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
return connection;
}
public static void closeAll(ResultSet resultSet,Statement statement,Connection connection) throws SQLException {
if(resultSet!=null){
resultSet.close();
}
if(statement!=null){
statement.close();
}
if(connection!=null){
connection.close();
}
}
}
之后就是用类似的框架,不同的sql语句完成增删改查操作了。
增
public class Add {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Connection connection= DBUtil.getConnection();
String sql="insert into tb_user values(6,'lihua','1234')";
PreparedStatement statement=connection.prepareStatement(sql);
statement.executeUpdate();
DBUtil.closeAll(null,statement,connection);
}
}
对数据库tb_user添加“id为6,username为lihua,password为1234”的新数据
删
public class Delete {
public static void main(String[] args) throws ClassNotFoundException, SQLException{
Connection connection= DBUtil.getConnection();
System.out.println("创建连接成功");
String sql="delete from tb_user where id=5";
PreparedStatement statement=connection.prepareStatement(sql);
statement.executeUpdate();
DBUtil.closeAll(null,statement,connection);
}
}
删除数据库中id为5的那条数据。
改
public class Update {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Connection connection= DBUtil.getConnection();
String sql="update tb_user set password=66666 where id=2";
PreparedStatement statement=connection.prepareStatement(sql);
statement.executeUpdate();
DBUtil.closeAll(null,statement,connection);
}
}
将数据库中id为2的数据密码改为66666
查
public class Find {
public static void main(String[] args) throws ClassNotFoundException, SQLException{
Connection connection=DBUtil.getConnection();
String sql="select * from tb_user ";
PreparedStatement statement=connection.prepareStatement(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);
}
}
效果如下