JDBC的第二部分内容

1、关于PreparedStatement插入(修改)blob以及查询blob

插入 可以通过流(图片所在路径) 然后 通过PreparedStatement.setBlob();

查询 PreparedStatement.getBlob().getBinaryStream(); 通过这两个方法得到一个流,然后将这个读流 写流

2、关于批量插入使用PreparedStatement:

JDBC的批量处理语句包括下面三个方法:

  • addBatch(String):添加需要批量处理的SQL语句或是参数;

  • executeBatch():执行批量处理语句;

  • clearBatch():清空缓存的数据

注意:

1、mysql服务器默认是关闭批处理的,我们需要通过一个参数,让mysql开启批处理的支持。
?rewriteBatchedStatements=true 写在配置文件的url后面

2、注意还可以将执行sql后的设置为不自动提交数据,当积攒党一定量在提交 这样可以缓解硬盘内内存读写速度不一致的问题

3、关于数据库的连接的第二种方式(通过数据库连接池)

常用的3种:c3p0,dbcp,druid

使用数据库连接池 都要预先导包 注意(dbcp需要导入两个一个是dbcp 一个是pool)

各自优缺点及配置文件:

dbcp:速度相对c3p0较快 不稳定  dbcp.properties

c3p0:速度相对较慢,稳定性还可以  一般为xml

Druid 是阿里提供的数据库连接池,据说是集DBCP 、C3P0 、Proxool 优点于一身的数据库连接池, Druid.properties

注意几个概念:

  • DataSource 通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把 DataSource 称为连接池

  • DataSource用来取代DriverManager来获取Connection,获取速度快,同时可以大幅度提高数据库访问速度。

  • 特别注意:

  • 数据源和数据库连接不同,数据源无需创建多个,它是产生数据库连接的工厂,因此整个应用只需要一个数据源即可。

  • 当数据库访问结束后,程序还是像以前一样关闭数据库连接:conn.close(); 但conn.close()并没有关闭数据库的物理连接,它仅仅把数据库连接释放,归还给了数据库连接池。

4、关于数据表操作的版本升级方式(通过dbutils.jar) 需要导包

queryrunner
    update 增删改
    query 查询
    handler返回集的操作
    对beasDAO中的基本操作 做替换
DbUtils工具类(关闭资源的第二种方式)
     有方法可以关闭资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值