zoukankan      html  css  js  c++  java
  • java实现数据库连接的工具类

    第一种 (带事务)

    package com.china.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    
    public class BaseDao {
    
        protected Connection conn = null;
        
        
        /**
         * 创建数据库连接
         * @throws ClassNotFoundException
         * @throws SQLException
         */
        protected void openconnection() throws ClassNotFoundException,SQLException{        
            try {
                if( conn == null || conn.isClosed() ){
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","xx","xx");
                    //mysql
                     //Class.forName("com.mysql.jdbc.Driver");
                     // conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xe", "root", "root");
                }            
            } catch (ClassNotFoundException e) {            
            
                throw e;
            } catch (SQLException e) {    
                
                throw e;
            }
        }    
        
        
        /**
         * 手动提交事务
         * @throws Exception
         */
        public void beginTransaction() throws Exception{
        
            this.openconnection();        
            conn.setAutoCommit(false);        
        }
        /**
         * 事务回滚
         * @throws Exception
         */
        public void rollback() throws Exception{
            
            if(conn != null){            
                    conn.rollback();            
            }        
        }
        /**
         * 事务提交
         * @throws Exception
         */
        public void commit() throws Exception{
            if(conn != null){            
                conn.commit();                
            }    
        }
    
        /**
         * 关闭数据库
         * @throws Exception
         */
        public void closeResource() throws Exception{        
            if(conn != null){
                conn.close();
            }            
            
        }
        
            
        
        
    }

    第二种(mysql和oracle无事务)推荐!

    package com.smn.toolsbean;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class DB {
        private final String url = "jdbc:mysql://127.0.0.1:3306/blog";
        private final String userName = "root";
        private final String password = "toor";
        private Connection con = null;
        private Statement stm=null;
        
        /* 通过构造方法加载数据库驱动 */
        public DB(){
            try {
                Class.forName("com.mysql.jdbc.Driver"); 
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("加载数据库驱动失败!");
            }        
        }
        /* 创建数据库连接 */
        public void createCon() {
            try {
                con = DriverManager.getConnection(url, userName, password);
            } catch (Exception e) {
                e.printStackTrace();
                System.out.println("获取数据库连接失败!");
            }
        }
        /* 获取Statement对象 */
        public void getStm(){
               createCon();
            try {
                stm=con.createStatement();
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("创建Statement对象失败!");
            }
        }
        /** 
         * @功能 对数据库的增加、修改和删除的操作
         * @参数 sql为要执行的SQL语句
         * @返回值 boolean型值 
         */
        public boolean executeUpdate(String sql) {
            System.out.println(sql);
            boolean mark=false;
            try {
                getStm();
                int iCount = stm.executeUpdate(sql);
                if(iCount>0)                
                    mark=true;            
                else
                    mark=false;
            } catch (Exception e) {
                e.printStackTrace();
                mark=false;
            }
            return mark;
        }
        /* 查询数据库 */
        public ResultSet executeQuery(String sql) {
            ResultSet rs=null;
            try {
                getStm();
                try {
                    rs = stm.executeQuery(sql);
                } catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("查询数据库失败!");
                }
            } catch (Exception e) {
                e.printStackTrace();          
            }
            return rs;
        }
        /* 关闭数据库的操作 */
        public void closed() {
            if(stm!=null)
                try {
                    stm.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    System.out.println("关闭stm对象失败!");
                }
            if(con!=null)
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                    System.out.println("关闭con对象失败!");
                }
        }
    }
  • 相关阅读:
    linux samba 配置
    实例解读 linux 网卡驱动
    Linux操作系统的安全管理设置
    找回Linux/Unix下各系统的密码
    CF441E Valera and Number
    CF1175F The Number of Subpermutations 题解
    CF1553 比赛记录
    P5618 [SDOI2015]道路修建 题解
    CF 1530 比赛记录
    AT2063 [AGC005E] Sugigma: The Showdown 题解
  • 原文地址:https://www.cnblogs.com/lm970585581/p/7152406.html
Copyright © 2011-2022 走看看