zoukankan      html  css  js  c++  java
  • 毕业设计-1.09

    情况概述:

      连接数据库,并完成了通用方法的编写。

    代码如下:

    DBUtil.java

    package com.zlc.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    //数据库连接 SqlServer
    public class DBUtil {
        // 驱动类名
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3307/weather?useUnicode=true&characterEncoding=UTF8";// JavaTest为你的数据库名称
        String user = "root";
        String password = "364624";
        Connection coon = null;
    
        public Connection DBConnection() {
            Connection coon = null;
            try {
                // 加载驱动程序
                Class.forName(driver);
                coon = DriverManager.getConnection(url,user,password);
                if (!coon.isClosed()) {
                    System.out.println("成功连接数据库!");
                } else {
                    System.out.println("失败");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return coon;
        }
    
        public void close() {
            try {
                this.coon.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            DBUtil db = new DBUtil();
            db.DBConnection();
        }
    }

    CommonMethod.Java

    package com.zlc.util;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import com.mysql.jdbc.Statement;
    
    public class CommonMethod {
        public static Connection conn = null;
        public static PreparedStatement ps = null;
        public static ResultSet rs = null;
    
        /**
         * 
         * @Title: createPreParedStatement
         * @Description: PreParedStatement的创建方法
         * @param: @param sql
         * @param: @param params
         * @param: @return
         * @param: @throws SQLException   
         * @return: PreparedStatement   
         * @throws
         */
        public static PreparedStatement createPreParedStatement(String sql,Object[] params) throws SQLException {
            DBUtil db = new DBUtil();
            conn = db.DBConnection();
            ps = (PreparedStatement) conn.prepareStatement(sql);
            // 查询
            // set方法的个数依赖于?的个数,而?的个数与数组的个数一致
            if (params != null) {
                for (int i = 0; i < params.length; i++) {
                    ps.setObject(i + 1, params[i]);
                }
            }
            return ps;
        }
        
        /**
         * 
         * @Title: executeUpdate
         * @Description: 通用的增刪改查
         * @param: @param sql 语句
         * @param: @param params 参数
         * @param: @return   
         * @return: boolean   是否完成操作
         * @throws
         */
        public static boolean executeUpdate(String sql, Object[] params) {
            try {
                ps = createPreParedStatement(sql, params);
                // 执行查询-返回值
                int count = ps.executeUpdate();
                if (count > 0) {
                    return true;
                } else {
                    return false;
                }
            } catch (Exception e) {
                e.printStackTrace();
                return false;
            } finally {
                try {
                    closeAll(rs, (Statement) ps, conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        /**
         * 
         * @Title: executeQuery
         * @Description: 通用的查 返回值是一个集合
         * @param: @param sql 语句
         * @param: @param params 参数
         * @param: @return   
         * @return: ResultSet   返回集
         * @throws
         */
        public static ResultSet executeQuery(String sql, Object[] params) {
            try {
                ps = createPreParedStatement(sql, params);
                rs = ps.executeQuery();
                return rs;
            } catch (SQLException e) {
                e.printStackTrace();
                return null;
            }
        }
        
        /**
         * 
         * @Title: closeAll
         * @Description: 关闭数据库连接
         * @param: @param rs
         * @param: @param stmt
         * @param: @param conn
         * @param: @throws SQLException   
         * @return: void   
         * @throws
         */
        public static void closeAll(ResultSet rs,Statement stmt,Connection conn) throws SQLException {
            if (rs != null) {
                rs.close();
            }
            if (conn != null) {
                conn.close();
            }
            if (stmt != null) {
                stmt.close();
            }
        }
    
        /**
         * 
         * @Title: getTotalCount
         * @Description: 查询数据总数
         * @param: @param sql
         * @param: @return   
         * @return: int   
         * @throws
         */
        public static int getTotalCount(String sql) {
            int count = -1;
            try {
                ps = createPreParedStatement(sql, null);
                rs = ps.executeQuery();
                if (rs.next()) {
                    count = rs.getInt(1);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    closeAll(rs, (Statement) ps, conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return count;
        }
        
        
        
    }
  • 相关阅读:
    Codeforces Round #545 (div 1.)
    THUSC 2017 大魔法师
    loj #6216. 雪花挂饰
    [NOI Online #2 提高组]涂色游戏
    [NOI Online #2 提高组]子序列问题
    [NOI Online #1 入门组]跑步
    备战noip week7
    [NOI Online #3 提高组]优秀子序列
    20201017校测
    springboot基于maven多模块项目搭建(直接启动webApplication)
  • 原文地址:https://www.cnblogs.com/zlc364624/p/14453649.html
Copyright © 2011-2022 走看看