zoukankan      html  css  js  c++  java
  • Java 之数据库工具类

    一、工具类

    package utils;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Properties;
    
    /**
     * 
     * 数据库帮助类
     * @author 25754
     *
     */
    public class DbHelper {
        public static String URL = "";
        public static String USER = "";
        public static String PWD = "";
        public static Connection conn = null;
        public static PreparedStatement pstm = null;
        public static ResultSet rs = null;
        static {
            try {
                Properties ps = new Properties();
                InputStream is = DbHelper.class.getResourceAsStream("/db.properties");
                ps.load(is);
                URL = ps.getProperty("url");
                USER = ps.getProperty("user");
                PWD = ps.getProperty("pwd");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        /**
         * 连接数据库
         * @return
         * @throws SQLException
         * @throws ClassNotFoundException
         */
        public static Connection getConnection() throws SQLException, ClassNotFoundException {
            Class.forName("com.mysql.jdbc.Driver");
            return (Connection) DriverManager.getConnection(URL, USER, PWD);
        }
        
        
        /**
         * 通用增删改
         * @param sql
         * @param params
         * @return
         */
        public static int excuteUpdate(String sql, Object[] params) {
            try {
                pstm = createPreparedStatement(sql, params);
                return pstm.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                closeAll(conn, pstm, null);
            }
            return 0;
        }
        
        /**
         * 查询数据
         * @param sql
         * @param params
         * @return
         */
        public static ResultSet excuteQuery(String sql, Object[] params) {
            try {
                pstm = createPreparedStatement(sql, params);
                return pstm.executeQuery();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }
        
        /**
         * 处理数据
         * @param sql
         * @param params
         * @return
         * @throws SQLException
         * @throws ClassNotFoundException
         */
        public static PreparedStatement createPreparedStatement(String sql, Object[] params) throws SQLException, ClassNotFoundException{
            pstm = getConnection().prepareStatement(sql);
            if(pstm != null) {
                for(int i = 0; i < params.length; i++) {
                    pstm.setObject(i+1, params[i]);
                }
            }
            return pstm;
        }
        
        /**
         * 关闭连接
         * @param conn
         * @param pstm
         * @param rs
         */
        public static void closeAll(Connection conn, PreparedStatement pstm,ResultSet rs) {
            try{
                if(rs != null) {
                    rs.close();
                }
                if(pstm != null) {
                    pstm.close();
                }
                if(conn != null) {
                    conn.close();
                }
            }catch(SQLException e) {
                e.printStackTrace();
            }
        }
    }

    二、使用

    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import utils.DbHelper;
    
    
    public class Test1 {
        public static void main(String[] args) {
            try {
                Object[] params = new Object[]{};
                ResultSet rs = DbHelper.excuteQuery("select * from tp_admin", params);
                if(rs != null) {
                    while(rs.next()) {
                        System.out.println(rs.getInt("id") + " " + rs.getString("username"));
                    }
                    rs.close();
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    mysql修改表
    MySQL sql优化(摘抄自文档)
    mysql show操作
    mysql load data infile
    mysql Insert强化
    mysql group_concat
    HTML js 复习
    mysql开发实战8问
    不使用Ajax,如何实现表单提交不刷新页面
    跨域的方式总结
  • 原文地址:https://www.cnblogs.com/yang-2018/p/15070062.html
Copyright © 2011-2022 走看看