JDBC是什么、怎么使用。
发布日期:2021-05-07 13:40:54 浏览次数:19 分类:精选文章

本文共 2121 字,大约阅读时间需要 7 分钟。

一、JDBC基础

(1)JDBC是什么?

Java DataBase Connectivity(Java语言连接数据库)

(2)JDBC的本质是什么?

JDBC是SUN公司制定的一套接口(interface)、提供了一套接口。

(3)为什么SUN公司制定一套JDBC接口呢?

 因为每一个数据库的底层实现原理不一样、Oracle数据库有自己的原理、MySQL数据库也有自己的原理、每一个数据库产品都有自己独特的实现原理。

(4) JDBC开发前的工作:

先从官网下载对应的驱动jar包,然后将其配置到环境变量classpath中,

 以上的配置是针对文本编辑器方式开发,使用IDEA工具的时候,不需要配置以上的环境变量。

(5)JDBC编程六部

第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库)

获取静态代码块执行,在静态代码块中获取驱动的注册

第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭)

需要三个参数,url 、userid、password

第三步:获取数据库操作对象(专门执行SQL语句的对象)

叫statement,createStatement

第四步:执行SQL语句(DQL DML)

执行DML语句用excute方法,返回Int类型,表示影响数据库的基本条数。

执行DQL语句用query和select,返回查询结果集,ResultSet。

第五步:处理查询结果集(只有当第四步执行的是Select语句的时候,才有这第五步的处理查询结果集)

While(rs.next()){}有数据返回true,没有数据返回false。通过.getString("")可以获取

第六步:释放资源(使用完资源之后一定要关闭资源,Java和数据库属于进程间的通信,开启之后一定要关闭。)

二、使用idea加载jdbc

(1)打开 Open Module Settings

(2)点击Libraries

(3)点击+号和Java

(4) 选择路径

 三、JDBC事务

JDBC事务,它是自动提交的,只要执行任意一条DML语句,则自动提交一次,这是JDBC默认的行为,但是在实际的业务当中,通常都是N条DML语句共同联合才能完成的,必须保证他们这些DML语句在同一个事务中同时成功或失败。

所以我们加入了三行代码,将自动改为手动提交。

conn.setAutoCommit(false); conn.commit(); conn.rollback();
Connection conn = null;        PreparedStatement ps = null;        try {//            1、注册驱动            Class.forName("com.mysql.jdbc.Driver");//            2、获取连接            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode","root","123");//            3、获取预编译的数据库操作对象            String sql = "update t_user set loginName= ? where id= ? ";            ps.setString(1,"zhaoxioadong");            ps.setInt(2,1);            int count = ps.executeUpdate();            System.out.println(count);//            重新给占位符传值            ps.setString(1,"liuyiming");            ps.setInt(2,2);             count = ps.executeUpdate();            System.out.println(count);        } catch (Exception e) {            e.printStackTrace();        }

这一行代码就表示了,我将zhaoxiaodong和liuyiming都更新了,它才能一起往数据库更新操作。

四、行级锁

ename jpb sal version
|BLAKE| |MANAGER| |2850.00| 1.1

事务1-->读取到版本号1.1

事务2-->读取到版本号1.1

其中事务1先修改了,修改之后看了版本号1.1,于是提交修改的数据,将版本号修改为1.2

其中事务2后修改的,修改之后准备提交的时候,发现版本号1.2,和它最初读的版本号不一致,回滚。

悲观锁:事务必须排队执行,数据锁住了,不允许并发。

乐观锁:支持并发,事务也不需要排队,只不过需要一个版本号。

 

上一篇:Mybatis的使用以及快速入门
下一篇:redis双击redis-server.exe,然后会发现闪退

发表评论

最新留言

很好
[***.229.124.182]2025年04月09日 01时11分03秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章