Java 中常用的数据源

数据源:存储了所有建立数据库连接的信息。就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。

1.JNDI方式创建DataSource

  1.1 配置数据源的相关连接信息,该配置可以在Tomcat安装目录下的conf/context.xml文件中配置。
其配置如下:
  
[html]  view plain  copy
  1. <Context>  
  2.     ……  
  3.    <!-- MySql -->  
  4.    <Resource name="jdbc/orclight" auth="Container"  
  5.   
  6.            type="javax.sql.DataSource"maxActive="100" maxIdle="30"  
  7.   
  8.            maxWait="10000"username="root" password="root"  
  9.   
  10.            driverClassName="com.mysql.jdbc.Driver"  
  11.   
  12.            url="jdbc:mysql://localhost:3306/orclight"/>  
  13.     ……  
  14. </Context>  
  1.2 在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作

代码如下:      

[java]  view plain  copy
  1. / 初始化JNDI上下文,创建DataSource对象  
  2.   
  3.     Context initContext = new InitialContext();  
  4.   
  5.     Context context = (Context)initContext.lookup("java:comp/env");  
  6.   
  7.            DataSourcedataSource =  (DataSource)context.lookup("jdbc/orclight");  

2.Apache提供的DBCP方式创建数据源 

  2.1 以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar。

  2.2 以这种方式创建的数据源就不再是javax.sql.DataSource。DataSource了,而是org.apache.commons.dbcp.BasicDataSource。

代码如下:

    

[java]  view plain  copy
  1. // 创建BasicDataSource对象  
  2.   
  3.     BasicDataSource ds = new BasicDataSource();  
  4.   
  5.     ds.setDriverClassName("com.mysql.jdbc.Driver");  
  6.   
  7.     ds.setUrl("jdbc:mysql://localhost:3306/orclight");  
  8.   
  9.     ds.setUsername("root");  
  10.   
  11.     ds.setPassword("root");  
  12.   
  13.     ds.setInitialSize(50);  
  14.   
  15.     ds.setMaxActive(100);  
  16.     ds.setMaxIdle(30);  
  17.     ds.setMaxWait(10000);     
  18.     // 关闭数据源连接  
  19.     ds.close();  

3.C3P0方式创建数据源

  3.1 使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到web/lib目录下,

就可以在项目中使用C3P0创建数据源

  3.2 3.2 C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource。

代码如下:

    

[java]  view plain  copy
  1. // 创建ComboPooledDataSource对象  
  2.   
  3.    ComboPooledDataSource ds = new ComboPooledDataSource();  
  4.   
  5.    ds.setDriverClass("com.mysql.jdbc.Driver");  
  6.   
  7.    ds.setJdbcUrl("jdbc:mysql://localhost:3306/orclight");  
  8.   
  9.    ds.setUser("root");  
  10.   
  11.    ds.setPassword("root");  
  12.   
  13.    ds.setInitialPoolSize(50);  
  14.   
  15.    ds.setMaxPoolSize(100);  
  16.   
  17.    ds.setMaxIdleTime(10000);  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值