1.JDBC概念以及本质
* 概念:Java DataBase Connectivity,Java数据库连接,Java语言操作数据库
* 本质:官方定义了一套操作关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,提供数据库驱动的jar包,我们可以使用这套接口编程,真正执行的代码是驱动jar包的实现类。
2.JDBC的快速入门步骤
1.导入jar包(文章末尾有链接)
* 复制jar包到工程目录下
* 右键点击工程,进行Add as Library
2.注册驱动
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
3.获取数据库连接对象 Connection
Connection connection = DriverManager.getConnection("url","数据库用户名","数据库密码");
注意:如果遇到时区问题,在url后面加上?serverTimezone=UTC
4.定义SQL语句
String sql = "update stu set address = '河南' where id = 4";
SQL语句可以写增删改查语句
5.获取执行SQL的对象Statement
Statement statement = connection.createStatement();
6.执行SQL语句
boolean execute = statement.execute(sql);
可以返回Boolean类型,也可以返回int类型
7.处理返回的结果
System.out.println(execute);
打印结果,这个结果不重要,重要的是数据库中的数据是否改变
8.释放资源
statement.close();
connection.close();
3.详解代码中各个对象
1.DriverManager:驱动管理对象
* 功能
1.注册驱动:告诉程序该使用哪一个数据库驱动jar包
2.获取数据库连接:
* 方法:getConnection(String url, String user, String password)
* 参数:
* url:指定连接的路径(mysql,其他数据库存在差异)
* 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
* 例子:jdbc:mysql://localhost:3306/mydb1
* user:数据库用户名
* password:数据库密码
2.Connection:数据库连接对象
* 功能
1. 获取执行SQL的对象
* Statement createStatement()
* PreparedStatement prepareStatement(String sql)
2.管理事务:
* 开启事务:setAutoCommit(boolean autoCommit) :设置该方法参数为false,即开启事务
* 提交事务:commit()
* 回滚事务:rollback()
3.Statement:执行SQL对象
1.执行SQL
1. boolean execute(String sql) :执行给定的 SQL 语句,该语句可能返回多个结果。(了解)
2. int executeUpdate(String sql) :执行DML语句或DDL语句
* 返回值:影响的行数 ,可以通过这个影响的行数来判断DML语句是否执行成功,返回值>0则成功,反之则失败
3. ResultSet executeQuery(String sql) :执行DQL语句,
4.ResultSet:结果集对象(执行DQL语句中出现)封装查询结果
1. 方法
* next()方法:将光标从当前位置向前移一行。(最开始光标在表头行)如上图所示
* getXxx(参数),获取数据
* Xxx:代表数据类型 比如getInt,getString
* 参数:
1. int类型:代表列的编号,从1开始 如:getString(1),表示获取第1列
2. String类型:代表列名称。 如:getInt("age"),表示获取age列(常用)
* 注意:
* 使用步骤
1.游标向下移动一行
2.判断是否有数据
3.获取数据
* 可以用while循环获取结果集
2.实例语句
//循环判断游标是否是最后一行
while (resultSet.next()){
//获取数据
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String sex = resultSet.getString("sex");
String address = resultSet.getString("address");
System.out.println( id + "," + name + "," + age + "," + sex + "," + address );
}
4.具体实例代码及结果演示
public static void main(String[] args) throws Exception {
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.创建连接对象
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb1?serverTimezone=UTC","root","root");
//3.创建SQL命令对象
Statement statement = connection.createStatement();
//4.获取结果集对象
String sql = "select * from stu";
ResultSet resultSet = statement.executeQuery(sql);
//5.操作结果集
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String sex = resultSet.getString("sex");
String address = resultSet.getString("address");
System.out.println( id + "," + name + "," + age + "," + sex + "," + address );
}
//6.释放资源
resultSet.close();
statement.close();
connection.close();
}
结果展示
这就是用Java代码操作数据库,后期还会分享一些关于这类知识,希望大家多多关注!
mysql的jar包获取方式:
链接:https://pan.baidu.com/s/1jKst2LAUHz-Jhzh4RHPhnQ
提取码:vfmh