zoukankan      html  css  js  c++  java
  • JDBC初学者的basedao工具类

    package com.obtk.util;
    
    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 pengfei.xiong
     * 
     */
    public class BaseDao {
    
        public Connection conn = null;
        public PreparedStatement pstmt = null;
        public ResultSet rs = null;
    
        /**
         * 获得连对象
         * 下面中文部分自行修改,其他代码都可以用
         * @return 返回连接对象
         */
        public Connection getConnection() {
            try {
                Class.forName("驱动名称");
                conn = DriverManager.getConnection(
                        "数据库url", "用户名", "密码");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
    
        /**
         * 关闭所有对象
         * 
         * @param rs
         *            结果集
         * @param pstmt
         *            执行
         * @param conn
         *            连接
         */
        public void closeAll(ResultSet rs, Statement pstmt, Connection conn) {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (pstmt != null) {
                    pstmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 执行增删改操作
         * 
         * @param sql
         *            执行语句
         * @param obj
         *            参数数组
         * @return 返回受影响的行数
         */
        public int executeUpdateSQL(String sql, Object[] obj) {
            int row = 0;
            try {
                conn = getConnection();
                pstmt = conn.prepareStatement(sql);
                if (obj != null) {
                    for (int i = 0; i < obj.length; i++) {
                        pstmt.setObject(i + 1, obj[i]);
                    }
                }
                row = pstmt.executeUpdate();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                closeAll(rs, pstmt, conn);
            }
            return row;
        }
    
        /**
         * 执行查询操作
         * 
         * @param sql
         *            查询语句
         * @param obj
         *            参数列表
         * @return 返回对象的结果集
         */
        public ResultSet executeQuerySQL(String sql, Object[] obj) {
            conn = getConnection();
            try {
                pstmt = conn.prepareStatement(sql);
                if (obj != null) {
                    for (int i = 0; i < obj.length; i++) {
                        pstmt.setObject(i + 1, obj[i]);
                    }
                }
                rs = pstmt.executeQuery();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return rs;
        }
    }
    
    
    勿忘初心 得过且过
  • 相关阅读:
    【洛谷P2967】【USACO 2009 Dec】电子游戏 Video Game Troubles
    2021-09-11 刷题 39. 组合总和
    2021-09-10 刷题 160. 相交链表
    2021-09-09 刷题 141. 环形链表
    2021-09-08 刷题 20. 有效的括号
    2021-09-07 刷题 119杨辉三角2
    2021-08-01 刷题 合并两个有序链表
    2021-07-31 leetcode刷题记录 两数之和
    根据需要数据库的内容,封装增删改查的sql函数
    QT 对XML 文件进行增删改查
  • 原文地址:https://www.cnblogs.com/xpf1009/p/9227325.html
Copyright © 2011-2022 走看看