zoukankan      html  css  js  c++  java
  • java连接oracle

    首先新建db.properties
    在里面写连接数据库所需的用户名密码等
    例如我写的这个文件:

    # db params
    driver=oracle.jdbc.driver.OracleDriver
    url=jdbc:oracle:thin:@localhost:1521:xe
    user=system
    pwd=root
    # dbcp params
    initSize=1
    maxSize=2
    

    接下来写一个DBUtil.java类来写连接数据库的代码

    package db.util;
    
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Properties;
    
    import org.apache.commons.dbcp.BasicDataSource;
    
    public class DBUtil {
        // dbcp连接池
        private static BasicDataSource bds;
    
        // 连接池只需要实例化一次
        // 连接池需要的参数只需要读取一次
        static {
    	Properties p = new Properties();
    	try {
    	    p.load(DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));
    	    // 1、连接池必需要4个连接参数
    	    String driver = p.getProperty("driver");
    	    String url = p.getProperty("url");
    	    String user = p.getProperty("user");
    	    String pwd = p.getProperty("pwd");
    	    // 2、连接池自身也有一些参数(有默认值)
    	    String initSize = p.getProperty("initSize");
    	    String maxSize = p.getProperty("maxSize");
    	    // 3、创建连接池,并设置这些参数
    	    bds = new BasicDataSource();
    	    // 连接池会自动加载驱动,所以这里不必再Class.forName()
    	    bds.setDriverClassName(driver);
    	    bds.setUrl(url);
    	    bds.setUsername(user);
    	    bds.setPassword(pwd);
    	    bds.setInitialSize(Integer.parseInt(initSize)); // 最小连接数
    	    bds.setMaxActive(Integer.parseInt(maxSize)); // 最大连接数
    
    	} catch (IOException e) {
    	    e.printStackTrace();
    	    throw new RuntimeException("加载资源文件失败", e);
    	} finally {
    
    	}
    
        }
    
        public static Connection getConnection() throws SQLException {
    	return bds.getConnection();
    
        }
    
        /**
         * 使用连接池创建出来的连接,其close()方法并不是真的关闭连接,而是将此连接归还给池,并且会清空连接中的一切数据,状态置为空闲态。
         * 
         * @param con
         */
        public static void close(Connection con) {
    	if (con != null) {
    	    try {
    		con.close();
    	    } catch (SQLException e) {
    		e.printStackTrace();
    		throw new RuntimeException("关闭连接失败", e);
    	    }
    	}
        }
    }
    
    

    最后来写测试类

    @Test
        public void test() {
    	Connection con = null;
    	try {
    	    con = DBUtil.getConnection();
    	    System.out.println(con);
    
    	} catch (SQLException e) {
    	    e.printStackTrace();
    	    throw new RuntimeException();
    	} finally {
    	    DBUtil.close(con);
    	}
      }
    

    这样就连接好oracle了
    一般情况我们对数据库操纵(增删改)都把方法写在一个类中这样便于以后的管理。

  • 相关阅读:
    swift 资料
    CI cookie 存放数组
    CI框架中 日志输出方法log_message()只允许输出字符串解决方案
    CI框架整合微信公共平台接口
    php中的 file_get_contents(‘php://input’)
    CI 框架购物车问题
    JQ 报表插件 jquery.jqplot 使用
    微信开发调试工具
    常用开源库
    字符集更改步骤,mysql乱码
  • 原文地址:https://www.cnblogs.com/yangliguo/p/7549925.html
Copyright © 2011-2022 走看看