TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
这个类蛮实用的,我在几个项目中都使用。接口如下: public interface DaoHelper { boolean add(String sql, Object... args); boolean add(String sql, Connection conn, Object... args); int update(String sql, Object... args); int update(String sql, Connection conn, Object... args); boolean delete(String sql, Object... args); boolean delete(String sql, Connection conn, Object... args); Object getObject(String sql, Class obj, Object... args); Object getObject(String sql, Connection conn, Class obj, Object... args); List< Object> getList(String sql, Class obj, Object... args); String queryForString(String sql, Object... args); Long queryForLong(String sql, Object... args); Boolean queryForBoolean(String sql, Object... args); Connection getConn (); void returnConnection(Connection conn); void rollBack(Connection conn); }
(1)
第一个 add 方法用来执行 insert 语句,并且提交事务; sql 为数据库语句, args 为数据库参数,要和数据库语句里的“?”对应。
(2)
第二个 add 方法多了一个 Connetion 参数,该方法将使用这个 Conn 来创建 PreparedStatement ,但是执行结束后不提交,需要手动提交。
(3)
其他 update 、 delete 同上
(4)
getObject 方法返回一个 bean ,把 ResultSet 转化为 Bean , bean 的属性必须和数据库列名称相同。
(5)
getList 方法返回一个 List ,将 ResultSet 处理为一个 List 返回
(6)
queryForString , queryForLong , queryForBoolean 将分别返回 String 、 Long 、 Boolean 结果。 实现我使用了 apache common 里的 dbutils 包,另外由 DataSource 提供数据库 Connection ,我使用的是 c3p0 的实现,用 spring bean set 注入的。代码请下载。
源码下载:http://file.javaxxz.com/2014/11/4/000109500.rar |
|