zoukankan      html  css  js  c++  java
  • JDBC封装

    public class JDBCUtil {
        private static  String driver = "com.mysql.jdbc.Driver";
        private static  String url = "jdbc:mysql://localhost:3306/?day14/useUnicode=true&characterEncoding=utf-8";
        private static  String username = "root";
        private static  String password = "admin";
    
        private static  Connection conn =null;
        private static  PreparedStatement statement = null;
        private static  ResultSet result = null;
    
    
    
        /**
         * 加载配置文件
         * 获取数据库连接
         * @return
         */
        static{
            try {
                Properties properties = new Properties();
                //通过类加载器 加载配置文件
                properties.load(JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"));
    
                driver = properties.getProperty("jdbc.driver");
                url = properties.getProperty("jdbc.url");
                username = properties.getProperty("jdbc.username");
                password = properties.getProperty("jdbc.password");
    
                //加载驱动
                Class.forName(driver);
            }catch (IOException e){
                e.printStackTrace();
            }catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 获取连接
         * @return
         */
        public static Connection getConnection(){
            try {
                conn = DriverManager.getConnection(url,username,password);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
    
        /**
         * 获取操作数据库对象
         * @param sql
         * @param objects
         * @return
         */
        public static PreparedStatement getStatement(String sql,Object...objects){
            //加载驱动
            try {
                //创建执行对象
                statement = conn.prepareStatement(sql);
                //如果有参数  则添加参数
                if (objects.length > 0){
                    for (int i=0;i<objects.length;i++){
                        statement.setObject(i+1,objects[i]);
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return statement;
        }
    
        /**
         * 查询
         * 返回查询结果集
         * @param sql 语句
         * @param objects 可变参数
         * @return ResultSet 结果集合
         */
        public static ResultSet executeQuery(String sql,Object...objects){
            statement = getStatement(sql,objects);
            try {
                result = statement.executeQuery();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return result;
        }
    
        /**
         * 对数据库的增,删,改
         * @param sql 语句
         * @param objects 可变参数
         * @return 操作完成的sql语句数量
         */
        public static int executeUpdate(String sql,Object...objects){
            statement = getStatement(sql,objects);
            //执行成功的条数
            int count = 0;
            try {
                count = statement.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return count;
        }
    
        /**
         * 关闭连接 释放资源
         */
        public static void closeAll(){
            try{
                if (result != null){
                    result.close();
                }
                if (statement != null){
                    statement.close();
                }
                if (conn != null){
                    conn.close();
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    重大利好,Dubbo 3.0要来了。
    SaaS,PaaS,IaaS都是什么鬼?
    为什么Netty这么火?与Mina相比有什么优势?
    (21)python lambda表达式
    (19)python scrapy框架
    (18) python 爬虫实战
    (5)ASP.NET HTML服务器控件
    (17)python Beautiful Soup 4.6
    (4)ASP.NET内置对象1
    (16)网络爬虫
  • 原文地址:https://www.cnblogs.com/loveyoul9/p/11580396.html
Copyright © 2011-2022 走看看