zoukankan      html  css  js  c++  java
  • jdbc连接数据库(oracle、mysql)

    很简单,直接贴代码吧!代码注释自认为足够理解!

    第一步创建数据库连接类,数据库连接地址、数据库驱动、用户名、密码建议创建为公共变量,方便修改,一目了然

    package db;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    /**
     * jdbc连接数据库以及关闭数据库
     * 加载驱动  创建链接即可
     * oracle  所需jar包
     * ojdbc14.jar  commons-collections.jar
     * 
     * mysql  所需jar包
     * mysql-connector-java-5.1.7-bin.jar
     * @author 乔成强
     * @version 创建时间:2018年5月9日  下午2:26:00
     */
    public class DBConnection {
        
        /**Oracle数据库连接地址*/
        private final static String DB_URL = "jdbc:oracle:thin:@192.168.2.158:1521:orcl";
        /**Oracle数据库连接驱动*/
        private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
        /**Oracle数据库用户名*/
        private final static String DB_USER = "protransfer";
        /**Oracle数据库用户密码*/
        private final static String DB_PASS = "protransfer";
        
        /**
         * 以下为mysql的连接方式 
         */
        //private final static String DB_URL = "jdbc:mysql://127.0.0.1:3306/qcq";
        //private final static String DB_DRIVER = "com.mysql.jdbc.Driver";
        //private final static String DB_USER = "root";
        //private final static String DB_PASS = "root";
        
        /**
         * 创建连接
         */
        public Connection getConnetion(){
            Connection con = null;
            try {
                Class.forName(DB_DRIVER);  //加载驱动
                con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);  //创建连接
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return con;
        }
        
        /**
         * 关闭数据库连接
         */
        public void closeConn(Connection conn){
            if(conn != null){  //首先判断是非为空
                try {
                    if(!conn.isClosed()){  //如果数据库连接没有关闭,在进行关闭
                        conn.close();  //通过close()关闭数据库
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }

    第二步建立一个数据库连接工厂类(可有可无),不在需要每次都实例化了

    package db;
    
    import java.sql.Connection;
    
    /**
     * 创建一个数据库连接的工厂类,就不用每次使用数据库连接时再进行实例化
     * @author 乔成强
     * @version 创建时间:2018年5月9日  下午2:27:16
     */
    public class DBFactory {
        
        private static DBConnection dbConn = new DBConnection();  //实例化数据库连接对象
        
        /**
         * 获取数据库对象
         */
        public static DBConnection getDBConnectionInstanse(){
            if(dbConn == null){
                dbConn = new DBConnection();
                return dbConn;
            }else{
                return dbConn;
            }
        }
        
        /**
         * 关闭数据库连接
         */
        public static void closeConn(Connection conn){
            if(dbConn == null){
                dbConn = new DBConnection();
            }
            dbConn.closeConn(conn);  //调用关闭连接的方法
        }
    
    }

    第三步就是一个测试类了

    package db;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     * 测试数据库是否能够连接成功
     * @author 乔成强
     * @version 创建时间:2018年5月9日  下午2:41:08
     */
    public class testDB {
    
        public static void main(String[] args) {
            Connection con = DBFactory.getDBConnectionInstanse().getConnetion();
            Statement sta;
            try {
                sta = con.createStatement();
                String sql = "select * from t_sys_user where id = 1";
                ResultSet rs = sta.executeQuery(sql);
                while(rs.next()){
                    System.out.println(rs.getString(3));  //从1开始的
                    System.out.println(rs.getString("id"));  //也可以通过名字获取值(就是数据库中的各个字段)
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             
            try {
                con.close();  //关闭数据库
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }

    好了,这样基本就可以了!!!

  • 相关阅读:
    C# 委托事件
    用netstat查看网络状态详解
    详解TCP建立连接全过程
    Amazon SNS移动推送更新——新增百度云推送和Windows平台支持
    UE-9260使用说明2
    简单理解javascript中的原型对象,实现对之间共享属性和行为
    RxJava
    链式存储(头插法、尾插法)
    Codeforces 569 B. Inventory
    CentOS 6.4安装Puppet
  • 原文地址:https://www.cnblogs.com/qcq0703/p/9014893.html
Copyright © 2011-2022 走看看