JDBC:
概念:Java DataBase Connectivity java数据库连接,java语言操作数据库
JDBC本质:其实就是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库产商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行代码的是驱动jar包的实现类。
JDBC驱动jar包的下载流程:
1.https://dev.mysql.com/downloads/connector/j/点击进入官网下载
2.
3.拉到最下面 选择Platform Independent
4.
5.点击Download,进入下载页面,点击No thanks, just start my download.
第一步:导入jar包
首先我们需要兴建一个java项目,在项目中兴建一个libs文件夹来存储我们的jar包,如图:
2.在复制我们下载的包里面的jar包到libs文件夹中
3.我们需要双击libs文件夹 选择 Add as Library
第二步:注册驱动:
Class.forName("com.mysql.cj.jdbc.Driver");
第三部:获取数据库连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root", "12345678");
第四步:定义sql语句
String sql ="update money set money=500 where id=1";
第五步:获取执行的sql对象 statement
Statement sta = con.createStatement();
第六步:执行sql语句
int i = sta.executeUpdate(sql);
第七步:处理结果
System.out.println(i);
第八步:释放资源
con.close();
sta.close();
```
var a=1```
```
如图:
一.DriverManager
1.DriverManager:驱动管理对象
功能:注册驱动:主要告诉程序该使用那个数据库驱动jar
里面有个方法:
static void registerDriver(Driver driver)注册给指定的驱动程序 DrierManage
写代码使用 Class.froName("com.mysql.jdbc.Driver")
通过查看源码我们可以发现在com.mysql.jdbc.Driver类中存在静态代码块
注意:mysql5之后的驱动jar报可以省略注册驱动的步骤
2.获取数据库连接:
方法:static connection getConnection(String url,String user,String passworld);
参数:url:指定连接的路径
语法:jdbc:mysql://IP地址(域名):端口号/数据库名称
例子:jdbc:mysql://localhost:3306/db1
细节:如果连接的是本机的msql的服务器,并且msql的默认端口是3306:则可以缩写成jdbc:mysql:///数据库名称
user:用户名
passworld:密码
二.connection :数据库连接对象
1.功能:获取执行mysql对象
statement createConnection()
preparedStatement preparedStateMent(String sql)
2.管理事务的三个方法:
(1):开启事务 setAutoCommit(Boolean autoCommit) 调用该方法设置参数为false,即开启事务。
(2):提交事务:commit()
(3):回滚事务:rollback()
三.statement:执行mql的对象
1.执行sql
(1)boolean execute(String sql) 可以执行任意的sql(了解)
(2) int exeupdate(String sql ) 执行DML(insert,update,delete)语句。DDL (create,alter,drop)语句
返回的值是你sql影响的行数,你可以通过这个影响 的行数来判断sql是否运行成功了,返回>0则成功,反之失败
(3)ResultSet executeQuery(String sql) 执行DQL(查询 select)语句
练习:1给money表添加一条数据
四:ResultSet;结果集对象,封装查询结果
next()游标向下移动一行
getxxx(参数):获取数据
xxx:代表数据类型:如:String getString(), Int getInt()
参数:
(1)int :代表编号,从1开始 如:getInt(1)
(2)String 代表列名称 如getDouble("money")
练习:链接数据库查询 并答应出来值
如图:
注意
一行一行的获取是不是太繁琐了,重复的动作我们可以使用循环来达到
它里面的next()会返回一个boolean值
使用步骤:
1.游标向下移动一行
2.判断是否有数据
3获取数据
操作如图:
使用工具类的方法来实现封装:JDBCutils