MySQL-JDBC
JDBC概念和快速入门案例
JDBC的概念
通过Java代码操作数据库(增,删,改,查)
快速入门操作步骤
1.导入jar包
2.注册驱动
Class.forName("com.mysql.jdbc.Driver");
3.获取驱动
String url = "jdbc:mysql://127.0.0.1:3306/ee"; //ee是数据库的名称
Connection conn = DriverManager.getConnection(url, "root", "root");
4.获取操作对象
Statement stat = conn.createStatement();
5.操作SQL
int num = stat.executeUpdate(sql);
6.释放资源
stat.close();
conn.close();
//先开启的后关闭
JDBC各个类的详细介绍
DriverManager 驱动管理者
1.注册驱动
原始的注册驱动的代码 Class.forName("com.mysql.jdbc.Driver");
Driver底层代码采用的是 DriverManager.registerDriver(new Driver());
2.获取连接
String url = "jdbc:mysql://127.0.0.1:3306/ee"; //ee是数据库的名称
Connection conn = DriverManager.getConnection(url, "root", "root");
Connection 连接数据库
1.获取执行数据库的对象
a.直接获取执行数据库的对象
Statement stat = conn.createStatement();
b.获取预置语句执行数据库对象
PrepareStatement ps = conn.prepareStatement(sql语句);
2.管理事务
a.开启事务
conn.setAutoCommit(false); //false设置为手动提交事务.true设置为自动提交
b.提交事务
conn.commit();
c.回滚事务
conn.rollback();
Statement 操作数据库
1.更新操作(DML"对表记录的增删改"和DDL"对表和库的增删改")
int num = stat.executeUpdate("SQL语句"); //这里的SQL语句是增删改.返回的是影响几行
2.查询操作(DQL"对表记录的查询操作")
ResultSet 查询表结果集
1.判断是否还存在下一条数据
boolean b = resu.next(); //如果存在下一条数据,返回值为true 不存在则返回false
2.获取结果集当中的数据
a.通过查询到的结果集,索引值获取(索引值从1开始)
int data01 = resu.getInt(1); //获取到的是查询结果集索引为1的int类型的数据
String data02 = resu.getString(2); //获取到的是查询结果集索引为2的String类型的数据
b.通过查询到的结果集,列名称获取
int data01 = resu.getInt("id"); //获取到的是查询结果集列名是id的int类型的数据
String data02 = resu.getString("name"); //获取到的是查询结果集列名是name的String类型的数据
PrepareStatement 操作数据库
1.获取预置操作
select * from user where username = ? and password = ?;
PreparedStatement ps = Connection.prepareStatement(sql); //通过预置对象,获取连接的操作
2.设置参数
ps.setString(1,"root"); //参数1:第几个问号,参数2:对应预置的值
ps.setString(2,"root");//参数1:第几个问号,参数2:对应预置的值
3.执行SQL语句
ps.executeQuery();
JDBC的工具类
抽取的两个部分
1.连接Connection的对象
Connection conn = DriverManager.getConnection(url, username, password); //返回conn
2.释放资源
a.增删改 (释放 Connection 和 Statement)
b.查询 (释放 Connection 和 Statement 和 ResultSet)
准备数据
1.四个配置文件的数据(对应的就是静态成员变量)
url=jdbc:mysql://127.0.0.1:3306/ee
username=root
password=root
driver=com.mysql.jdbc.Driver
2.静态代码块
a.赋值静态成员变量(类的加载器"获取配置文件路径",Properties"通过配置文件路径,获取四个值")
b.注册驱动 Class.forName(driver);
使用工具类
Connection conn = JDBCUtils.getConnection(); //获取连接对象
JDBCUtils.close(resu,stat,conn);