基于JDBC封装的极简BaseDAO

来源:互联网 发布:约瑟夫环 c语言链表 编辑:程序博客网 时间:2024/06/05 22:50

可以根据需求删改代码,好了,话不多讲,上代码!

import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;/** * @author sennhai */public class BaseDAO {private static final String DRIVER = "";private static final String URL = "";private static final String USER_NAME = "";private static final String USER_PWD = "";private Connection conn = null;private PreparedStatement ps = null;private ResultSet rs = null;/** * 获取数据库连接 */private void getConnection() {try {Class.forName(DRIVER);conn = DriverManager.getConnection(URL, USER_NAME, USER_PWD);} catch (Exception e) {e.printStackTrace();}}/** * 回收资源 */public void closeAll() {try {if (null != rs) {rs.close();}if (null != ps) {ps.close();}if (null != conn) {conn.close();}} catch (Exception e) {e.printStackTrace();}}/** * 执行增删改 * @param sql * @param params * @return */public int executeNonQuery(String sql, String[] params) {try {this.getConnection();ps = conn.prepareStatement(sql);setValues(ps, params);return ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {closeAll();}return 0;}/** * 执行查询,获取数据后调用closeAll()回收资源 * @param sql * @param params * @return */public ResultSet executeQuery(String sql, String[] params) {try {this.getConnection();ps = conn.prepareStatement(sql);setValues(ps, params);rs = ps.executeQuery();return rs;} catch (Exception e) {e.printStackTrace();}return null;}/** * 设值 * @param ps * @param params */public void setValues(PreparedStatement ps, String[] params) {if (params != null && ps != null) {try {for (int i = 0; i < params.length; i++) {ps.setString(i + 1, params[i]);}} catch (Exception e) {e.printStackTrace();}}}}



0 0
原创粉丝点击