jdbc介绍

1.JDBC介绍

Java厂商制定规范的一套接口(jdbc),由各个数据库厂商实现(jdbc驱动),当我们用Java访问数据库时,只需要导入对应厂商提供的驱动jar包,然后使用程序调用接口中的方法即可。

  jdbc是java提供的一套用于数据库操作的接口API,不同的数据库厂商需要针对这套接口提供不同的实现,Java程序猿只需要面向这套接口编程即可。

2.应用-得到连接:

2.1 new一个properties对象

2.2调用这个propertoes对象的load方法,传入一个FileInputStream对象,获取到配置文件。优点:使用配置文件,让连接 mysql 更加灵活

2.3调用这个propertoes对象的getProperty方法得到文件中的信息

2.4 DriverManager.getConnection方法实现获取连接,其中DriverManager 替代 driver 进行统一管理,在底层使用反射加载了 Driver 类,在加载 Driver 类时,完成注册(静态代码块实现)。

3.应用-执行语句

3.1 Statement接口

在得到连接之后,我们想要执行sql语句,此时java设计了Statement接口来实现。

Statement statement = connection.createStatement()得到一个statement对象后:

statement.executeUpdate(sql)执行dml语句

statement.executeQuery(sql)执行dql语句,该执行的结果需要对象来接收,java设计者设计了ResultSet[结果集]来接收。

3.2 PreparedStatement接口

引入:statement由于statement.executeQuery(sql)执行语句直接使用sql,这个sql是直接输入的,没有经过预处理,会有sql注入的问题存在,相当危险,所以出现了PreparedStatement解决这一问题。

优点:预处理了减少了编译次数,效率up;有效的解决了sql注入问题

总结:之后我们就使用PreparedStatement接口来执行操作了。

4.应用-得到结果

4.1ResultSet[结果集] 概念:表示数据库结果集的数据表,通常执行查询数据库语句时生成

4.2重要方法:resultSet.next();向下移动一行,无则返回false

resultSet.previous()向上移动一行,无则false

getXXX;getObject;

5.事务

jdbc中当一个connection被创建时,默认是自动提交事务:执行完sql语句自动commit,无法回滚。而jdbc为了让多个sql语句作为整体执行,需要使用事务。

connection.setAutoCommit(false); //开启事务

connection.commit();//提交

connection.rollback();//回滚
 

6.批处理

使用批处理解决大量sql语句每次通过流对象传输(一条一条的传输)而带来的时间问题

批处理提供了Batch,将sql语句存入其中,打包批量处理,减少了运行次数,提升了效率。

preparedStatement.addBatch();

preparedStatement.executeBatch();
preparedStatement.clearBatch();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值