使用 properties配置文件 中配置的 datebase 连接数据库

标签: 随笔
4人阅读 评论(0) 收藏 举报
分类:

我的jeesite.properties 配置文件

c3p0连接代码:



/**
 * 
 */
package com.thinkgem.jeesite.modules.projectmanage.util;


import java.beans.PropertyVetoException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;


import org.junit.Test;


import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.sun.xml.internal.rngom.digested.DDataPattern;


/**
 * @Description:
 * @Author: 杨舜玺
 * @Company:
 * @CreateDate: 2018-3-30
 */


public class C3P0Util {

private static ComboPooledDataSource ds = null;


@Test
public Connection dd() throws FileNotFoundException, IOException, PropertyVetoException, SQLException{  
      
        Properties pr = new Properties();  
        //获得src下的c3p0.properties的路径  
        String c3p0Properties = this.getClass().getClassLoader().getResource("jeesite.properties").getPath();  
        //路径的编码是UTF-8  
        c3p0Properties = URLDecoder.decode(c3p0Properties, "utf-8");  
        //得到文件c3p0.properties文件  
        java.io.File c3p0File = new java.io.File(c3p0Properties);  
        //读取c3p0文件的内容  
        pr.load(new FileInputStream(c3p0File));  
          
//      pr.save(new FileOutputStream(c3p0File), null);  
        //使用c3p0操作数据库  
        ComboPooledDataSource cpds = new ComboPooledDataSource();  
        //加载数据驱动  
        cpds.setDriverClass(pr.getProperty("jdbc.driver"));  
        //连接特定的数据库  
        cpds.setJdbcUrl(pr.getProperty("jdbc.url"));  
        //数据库用户名  
        cpds.setUser(pr.getProperty("jdbc.username"));  
        //数据库用户密码  
        cpds.setPassword(pr.getProperty("jdbc.password"));  
        //获得连接  
        Connection conn = cpds.getConnection();  
        return conn;  
    }



static{




try {

Properties pr = new Properties();  
     //获得src下的c3p0.properties的路径  
     String c3p0Properties = C3P0Util.class.getClassLoader().getResource("jeesite.properties").getPath();  
     //路径的编码是UTF-8  
c3p0Properties = URLDecoder.decode(c3p0Properties, "utf-8");

     //得到文件c3p0.properties文件
     java.io.File c3p0File = new java.io.File(c3p0Properties);  
     //读取c3p0文件的内容  
pr.load(new FileInputStream(c3p0File));
//   pr.save(new FileOutputStream(c3p0File), null);  
     //使用c3p0操作数据库  
     ds = new ComboPooledDataSource();
     //加载数据驱动  
     ds.setDriverClass(pr.getProperty("jdbc.driver"));  
     //连接特定的数据库  
     ds.setJdbcUrl(pr.getProperty("jdbc.url"));  
     //数据库用户名  
     ds.setUser(pr.getProperty("jdbc.username"));  
     //数据库用户密码  
     ds.setPassword(pr.getProperty("jdbc.password")); 

     
    

/* ds = new ComboPooledDataSource();
ds.setDriverClass("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ds.setJdbcUrl("${url}"); //jdbc:sqlserver://192.168.0.112:1433;DatabaseName=scywgl
ds.setUser("sa");
ds.setPassword("TaiXin@123");*/


} catch (PropertyVetoException e) {
e.printStackTrace();
}




catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}  

}



public static Connection getConnection() throws SQLException{
        return ds.getConnection();
    }


public static void release(Connection conn,PreparedStatement pstmt,ResultSet rs) {
        if(rs!=null) {
            try {
                rs.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            rs = null;
        }
        if(pstmt!=null){
            try {
                pstmt.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            pstmt = null;
        }


        if(conn!=null) {
            try {
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }


}


查看评论

JDBC优化之手写数据库连接池技术

对JDBC编程之数据库连接进行优化,采用读取配置文件加载连接参数,手工模拟连接池技术编程进行优化。
  • 2017年07月02日 19:03

jdbc基础 (二) 通过properties配置文件连接数据库

上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用。 因为jdbc对数据库的驱动加载、连接获取、释放资源的代码都是相同的,为了提高代码的复用性,我们可以写一个工具类,将数据...
  • u013805360
  • u013805360
  • 2015-05-13 14:08:54
  • 7658

数据库连接信息写在properties文件,读取配置文件

这里是使用mysql数据库。 使用一个mysql.ini文件(就是一个properties文件)来保存数据库连接信息,这是比较成熟的做法———但需要把应用程序 从开发环境移植到生产环境时,无须修改源代...
  • fanfan4569
  • fanfan4569
  • 2016-03-23 21:13:41
  • 4423

如何在JDBC中使用.properties文件配置驱动

本文尝试使用配置文件为JDBC创建驱动,旨在数据库发生变化时不需要修改java代码,只需要修改.properties文件即可,提高了java代码的强壮性。...
  • alexander_chang
  • alexander_chang
  • 2016-12-12 21:34:58
  • 3890

spring的xml配置文件中获取jdbc.properties乱码导致连接数据库失败

今天遇到一个奇葩的问题,获取jdbc.properties中配置好的属性连接数据库竟然失败了。 不多说,直接上代码。 Exception in thread "main" org.springfram...
  • error395
  • error395
  • 2017-05-01 18:34:48
  • 519

spring配置中,properties文件以及xml文件配置问题

一、在springMVC配置读取properties文件
  • wtxwd
  • wtxwd
  • 2016-09-21 10:47:58
  • 3006

Java读取properties文件连接数据库

为什么要有这种东西,或者我们为什么要用这种方式来写,先看经常用的方法,我们经常写的 package util; import java.sql.Connection; import java.sql...
  • qq_38663729
  • qq_38663729
  • 2017-10-25 18:49:06
  • 598

java连接数据库(properties配置文件)

数据库连接工具类 public class DBUtil {     //获得输入流     private static InputStream in  = DBUtil.class.ge...
  • fanlulu2015
  • fanlulu2015
  • 2015-12-17 13:37:33
  • 5789

java中properties配置文件的用法

一、新建properties文件 在src文件下new一个file,命名为XXX.properties 二、编写配置文件 在properties的格式下,添加名值对的方式就不说了,说说在sour...
  • wangdajiao
  • wangdajiao
  • 2017-01-10 17:05:17
  • 13143

数据库连接的config.properties配置文件

jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/hadoop?useUnicode=tr...
  • shasiqq
  • shasiqq
  • 2016-03-29 11:09:33
  • 3561
    个人资料
    持之以恒
    等级:
    访问量: 834
    积分: 119
    排名: 122万+