• 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;
        }
    }
    
    
    勿忘初心 得过且过
  • 相关阅读:
    C# 中 finally 的用法
    相似度算法(转载)
    OpenCV 安装与调试
    win7 debug 工具
    wpf 登录时显示状态动态图
    C# 比较两张图片是否完全相同
    ABSD 基于架构的软件设计方法方法简介(摘抄)
    基于SQL Server的简单数据同步方案
    软件:产品和过程的统一(转)
    cpp extern 关键字用法
  • 原文地址:https://www.cnblogs.com/xpf1009/p/9227325.html
Copyright © 2020-2023  润新知