黑马总结 三 : jdbc链接数据库
2011-03-21 19:26
363 查看
这个方面的总结,可能对于很多工作有5年以上的程序员来说,十分的没有必要。甚至一些刚刚工作的人也会这样的感觉。但是我觉得,还是有必要做个总结的。因为很多简单的程序是不会使用到各种持久层的框架的。hibernate 或者 ~~~~~各种包括每个公司内部的jdbchelper类也是一样的。
在jdbchelper类中需要使用到策论模式。然后还需要面向接口来进行编程,最后我们可以通过动态代理。来实现mvc层相互之间的代码侵入。
下面是一个基本jdbc实现,但是这样写代码有侵入。可以根据具体情况使用接口来编写。以后进一步完善
在jdbchelper类中需要使用到策论模式。然后还需要面向接口来进行编程,最后我们可以通过动态代理。来实现mvc层相互之间的代码侵入。
下面是一个基本jdbc实现,但是这样写代码有侵入。可以根据具体情况使用接口来编写。以后进一步完善
package cn.itcast.jdbc.dao.refactor; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import cn.itcast.jdbc.JdbcUtil; import cn.itcast.jdbc.dao.exception.DaoException; public abstract class AbstractDao { //自己编写集体的jdbc操作数据库的时候,可以直接继承这个类。 public int update(String sql, Object... args) { Connection conn = null; PreparedStatement ps = null; try { //JdbcUtil.getConnection(),是一个数据源获取链接的方法。可以各种数据源,也可以自定义的数据源 conn = JdbcUtil.getConnection(); ps = conn.prepareStatement(sql); for (int i = 0; i < args.length; i++) ps.setObject(i + 1, args[i]); return ps.executeUpdate(); } catch (SQLException e) { throw new DaoException(e); } finally { JdbcUtil.release(null, ps, conn); } } public Object query(String sql, Object... args) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JdbcUtil.getConnection(); ps = conn.prepareStatement(sql); for (int i = 0; i < args.length; i++) ps.setObject(i + 1, args[i]); rs = ps.executeQuery(); if (rs.next()) return mapRow(rs);// 这里需要一个方法, 这个方法能将结果集转换成对象, 但这个方法还没想好怎么写. return null; } catch (SQLException e) { throw new DaoException(e); } finally { JdbcUtil.release(rs, ps, conn); } } public List queryForList(String sql, Object... args) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JdbcUtil.getConnection(); ps = conn.prepareStatement(sql); for (int i = 0; i < args.length; i++) ps.setObject(i + 1, args[i]); rs = ps.executeQuery(); List<Object> list = new ArrayList<Object>(); while (rs.next()) list.add(mapRow(rs)); return list; } catch (SQLException e) { throw new DaoException(e); } finally { JdbcUtil.release(rs, ps, conn); } } //這樣的方法,就是封裝特定對象的方法,具體哪個对象要根据情况来自己写 public abstract Object mapRow(ResultSet rs) throws SQLException; }
相关文章推荐
- jdbc 链接数据库基础若干总结
- JDBC组件链接数据库总结
- JDBC的相关总结,如何链接数据库
- java中三种主流数据库数据库(sqlserver,db2,oracle)的jdbc连接总结
- JDBC与数据库,简单总结一下。
- [Java] JDBC_ODBC 链接 Excle 数据库
- 原始的jdbc连接数据库以及操作(小总结)
- MyEclipse通过JDBC链接SQLServer2012 数据库
- JSP通过JDBC连接各种数据库的连接方式总结。(MySql、Orcal、SqlServer、DB2等数据库)
- Java中JDBC连接数据库代码和步骤详解总结
- jdbc链接数据库大全(转)
- 简述java jdbc技术链接数据库
- SQL SERVER 数据库链接服务器总结
- jdbc连接数据库总结
- jdbc.properties 包含多种数据库驱动链接版本
- jdbc链接数据库的三种方式
- java jdbc链接数据库
- shiro学习之路(2)----JDBC链接数据库
- jdbc.properties 包含多种数据库驱动链接的版本。
- jdbc链接数据库