j2ee规范-jdbc-简单封装
来源:互联网 发布:永久域名注册网站 编辑:程序博客网 时间:2024/06/05 02:30
config.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties> <comment>数据库连接配置</comment> <entry key="driver">oracle.jdbc.driver.OracleDriver</entry> <entry key="url">jdbc:oracle:thin:@localhost:1521:orcl</entry> <entry key="user">test</entry> <entry key="pass">123456</entry></properties>
ConfigReader
import java.io.IOException;import java.util.Properties;/** 配置文件读取类 */public class ConfigReader { private Properties prop = null; private ConfigReader(){ prop = new Properties(); try { prop.loadFromXML(ConfigReader.class.getResourceAsStream("config.xml")); } catch (IOException e) { e.printStackTrace(); } } private static ConfigReader obj = null; public static ConfigReader getConfigReader(){ //懒汉式 if(obj == null){ obj = new ConfigReader(); } return obj; } public String getProperty(String key){ return prop.getProperty(key); }}
BaseDao
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class BaseDao { public static final String DRIVER = ConfigReader.getConfigReader() .getProperty("driver"); public static final String URL = ConfigReader.getConfigReader() .getProperty("url"); public static final String USER = ConfigReader.getConfigReader() .getProperty("user"); public static final String PASS = ConfigReader.getConfigReader() .getProperty("pass"); /** * 获取分页的页数 * @param tableName 表名 * @param rows 每页的行数 * @param condition 分页的查询条件(可变参数 可传参数 无参数 当作字符参数数组看 可以为空) * @return * @throws SQLException */ public static int getPageCount(String tableName, int rows, String... condition) throws SQLException { String cond = ""; if(condition != null || !"".equals(condition)){ cond = " where " + condition[0]; } String sql = "select count(*) from " + tableName; sql += cond; //System.out.println("************************"+sql); Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; BaseDao dao = new BaseDao(); try { conn = dao.getConn(); ps = conn.prepareStatement(sql); rs = ps.executeQuery(); rs.next(); // 总行数 int count = rs.getInt(1); // 每页行数 int pageCount = count / rows; if (count % rows > 0) pageCount++; return pageCount; } finally { dao.closeAll(conn, ps, rs); } } /** * 加载驱动,获取连接对象 * * @return * @throws SQLException */ public Connection getConn() throws SQLException { // 1.加载驱动 try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { throw new SQLException(e); } // 2.获得连接对象 return DriverManager.getConnection(URL, USER, PASS); } /** * 关闭连接及相关对象 * * @param conn * @param s * @param rs * @throws SQLException */ public void closeAll(Connection conn, Statement s, ResultSet rs) throws SQLException { if (rs != null) rs.close(); if (s != null) s.close(); if (conn != null) conn.close(); } /** * 统一执行增删改命令的方法 * * @param sql * @param params * @return * @throws SQLException */ public int executeUpdateSQL(String sql, Object[] params) throws SQLException { Connection conn = null; PreparedStatement s = null; try { conn = this.getConn(); s = conn.prepareStatement(sql); if (params != null) { for (int i = 0; i < params.length; i++) { Object obj = params[i]; if (obj instanceof java.util.Date) { // 考虑日期的转换 obj = new java.sql.Timestamp( ((java.util.Date) obj).getTime()); } s.setObject(i + 1, obj); } } return s.executeUpdate(); } finally { this.closeAll(conn, s, null); } } public static void main(String[] args) { BaseDao dao = new BaseDao(); Connection conn = null; try { conn = dao.getConn(); System.out.println("打开连接OK!"); dao.closeAll(conn, null, null); System.out.println("关闭连接OK!"); } catch (SQLException e) { e.printStackTrace(); } }}
还看到一个不错的封装
http://blog.csdn.net/weixin_36380516/article/details/72904214
阅读全文
0 0
- j2ee规范-jdbc-简单封装
- [J2EE规范]JDBC简单例子
- J2EE规范总结--JDBC
- j2ee规范之jdbc jndi
- j2ee规范——JDBC
- J2EE规范——JDBC
- J2EE规范JDBC与JNDI
- J2EE规范——JDBC
- J2EE规范——JDBC
- jdbc简单封装3
- jdbc简单封装
- jdbc简单封装 1
- jdbc简单封装 2
- jdbc简单封装 4
- 简单JDBC封装类
- DatabaseSession 简单jdbc封装!
- jdbc简单封装类
- DbUtils简单封装JDBC
- 前端开发 常用正则表达式
- Java中创建对象的5种方式
- 基于Timer和TimerTask的定时任务
- spring aop知识
- Java程序打包成可执行jar的方法
- j2ee规范-jdbc-简单封装
- OKhttp基础
- 内存泄漏
- Hadoop学习路线图
- Opencv学习——仿射变换和透视变换
- MySQL命令大全
- java界面运行出来后如何让其显示在屏幕中间
- 蓝牙基础知识
- You have not concluded your merge (MERGE_HEAD exists) git拉取失败