JavaWeb之BaseDao的写法
2016-06-18 13:28
405 查看
package com.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * 用来做数据的基础连接和相关操作的关闭 * @author Lulu * */ public class BaseDAO { public BaseDAO() { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 属性 -------------------------- private Connection conn; private Statement stm; private PreparedStatement pstm; private ResultSet rs; // 获得连接-------------------------- public Connection getConn() { try { if (conn == null || conn.isClosed()) { conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/bbs", "root", ""); } } catch (SQLException e) { e.printStackTrace(); System.out.println("getConnection()错误"); } return conn; } // 执行增、删、改SQL语句-------------------- /** * * @param sql * @return int表示影响的行数 * @throws SQLException */ public int executeUpdate(String sql) throws SQLException { if (getConn() == null) { System.out.println("与数据库连接失败!"); return -1; } stm = conn.createStatement(); return stm.executeUpdate(sql); } // 重载执行增、删、改SQL语句-------------------- public int executeUpdate(String sql, Object[] obj) throws SQLException { if (getConn() == null) { System.out.println("与数据库连接失败!"); return -1; } pstm = conn.prepareStatement(sql); if (obj != null) { for (int i = 0; i < obj.length; i++) { pstm.setObject(i + 1, obj[i]); } } return pstm.executeUpdate(); } // 执行查询SQL语句---------------------------- public ResultSet executeQuery(String sql) throws SQLException { if (getConn() == null) { System.out.println("与数据库连接失败!"); return null; } stm = conn.createStatement(); rs = stm.executeQuery(sql); return rs; } // 重载执行查询SQL语句---------------------------- public ResultSet executeQuery(String sql, Object[] obj) throws SQLException { //第一步获取链接 if (getConn() == null) {//该步骤完成了与数据库的链接操作 System.out.println("与数据库连接失败!"); return null; } //将数据准备一下 pstm = conn.prepareStatement(sql); if (obj != null) { for (int i = 0; i < obj.length; i++) { pstm.setObject(i + 1, obj[i]); } } //执行完整sql语句 rs = pstm.executeQuery(); return rs; } // 关闭ResultSet public void closeResultSet() { if (rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } // 关闭Connection public void closeConnection() { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } // 关闭Statement和PreparedStatement public void closeStatement() { if (stm != null) { try { stm.close(); } catch (SQLException e) { e.printStackTrace(); } } if (pstm != null) { try { pstm.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- GUI - Web前端开发框架
- 介绍一款信息管理系统的开源框架---jeecg
- Extjs4.0 最新最全视频教程
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序