![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDBC心的
ccx20060810501
这个作者很懒,什么都没留下…
展开
-
PrepareStatement的优势
PrepareStatement相对Statement的优势: ·消除SQL注入的安全漏洞 ·Statement会是数据库频繁编译SQL,可能造成数据库缓冲区的溢出 ·数据库和相关驱动都可以对PrepareStatement进行优化 JdbcUtils工具类: /** * 有关mysql数据库的工具类,单例模式SingleTon */ package mysql.base...2009-09-24 22:35:52 · 220 阅读 · 0 评论 -
图片等二进制数据在Mysql数据库的读写操作
如果要把图片等二进制数据存入数据库,要把数据库中的相应字段设为“blob”,Mysql数据库是这样,其他数据库可能有所不同。 测试代码: /** * 图片等二进制数据的数据库插入、读取操作 */ package test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; ...2009-09-25 12:53:04 · 175 阅读 · 0 评论 -
数据库访问层的异常处理心得
·千万不要简单的用e.printStackTrace()抛出,这样对于上面的业务逻辑成来说是不可见,那样如果出了错也找不到是哪里的错。 ·最好自定义一个DaoException的类,继承于RuntimeException 代码: /** * 数据库访问异常处理类 */ package dao; /** * * 2009-9-25 * * 湖南大学 计算机与...2009-09-25 14:11:49 · 338 阅读 · 0 评论 -
向数据库插入数据时如何获取主键
向数据库中插入数据的同时获取主键,比较推荐的方式: String sqlStr = "insert into user(name,birthday,money) values('name1','1987-02-03',1234)"; Connection conn = null; PreparedStatement st = null; ResultSet rs = nu...2009-09-26 17:36:26 · 190 阅读 · 0 评论 -
数据库连接池——JDBC通过代理模式来保持用户关闭连接的习惯
基本思想:拦截Connection的close()方法,具体做法:使用代理模式来实现 核心代码: public class MyConnection implements Connection { private Connection realConnection; private MyDataSource myDataSource; MyConnection(Connecti...2009-09-29 12:15:06 · 127 阅读 · 0 评论 -
一个经典的数据库访问层实现
这是本人通过各种优化技巧而实现的一个经典的数据库访问层: 数据源用的事DBCP开源包。 使用Spring框架提供的JdbcTemplate替代我写的数据库访问层是一个非常不错的选择,因为我差不多是按JdbcTemplate的思想写的,不过和它比起来还是有很大的差距,所以实际项目中我也是用JdbcTemplate,而不是自己写。 public class UserDaoSpring...2009-10-02 11:40:59 · 146 阅读 · 0 评论 -
DBCP的使用注意事项
DBCP是一个应用非常广泛的开源的数据源,使用起来非常简单,但是也还是有一些问题需要注意一下: 1.使用数据源时最好是通过一个工厂的静态方法创建DataSource,避免创建多个数据源。 2.使用前需要向工程中导入三个jar包,缺一不可:commons-dbcp.jar、commons-collections.jar、 commons-pool.jar,当然数据库驱动包也是必...2009-10-03 18:16:36 · 143 阅读 · 0 评论