Java 中常用的数据源
数据源:存储了所有建立数据库连接的信息。就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。
1.JNDI方式创建DataSource
1.1 配置数据源的相关连接信息,该配置可以在Tomcat安装目录下的conf/context.xml文件中配置。
其配置如下:
- <Context>
- ……
- <!-- MySql -->
- <Resource name="jdbc/orclight" auth="Container"
- type="javax.sql.DataSource"maxActive="100" maxIdle="30"
- maxWait="10000"username="root" password="root"
- driverClassName="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/orclight"/>
- ……
- </Context>
1.2 在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作
代码如下:
- / 初始化JNDI上下文,创建DataSource对象
- Context initContext = new InitialContext();
- Context context = (Context)initContext.lookup("java:comp/env");
- 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。
代码如下:
- // 创建BasicDataSource对象
- BasicDataSource ds = new BasicDataSource();
- ds.setDriverClassName("com.mysql.jdbc.Driver");
- ds.setUrl("jdbc:mysql://localhost:3306/orclight");
- ds.setUsername("root");
- ds.setPassword("root");
- ds.setInitialSize(50);
- ds.setMaxActive(100);
- ds.setMaxIdle(30);
- ds.setMaxWait(10000);
- // 关闭数据源连接
- ds.close();
3.C3P0方式创建数据源
3.1 使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到web/lib目录下,
就可以在项目中使用C3P0创建数据源
3.2 3.2 C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource。
代码如下:
- // 创建ComboPooledDataSource对象
- ComboPooledDataSource ds = new ComboPooledDataSource();
- ds.setDriverClass("com.mysql.jdbc.Driver");
- ds.setJdbcUrl("jdbc:mysql://localhost:3306/orclight");
- ds.setUser("root");
- ds.setPassword("root");
- ds.setInitialPoolSize(50);
- ds.setMaxPoolSize(100);
- ds.setMaxIdleTime(10000);
Java 中常用的数据源的更多相关文章
- Java中常用的数据源
几种常用的Java数据源解决方案 Java中的数据源就是javax.sql.DataSource.DataSource的创建可以有不同的实现. JNDI方式创建DataSource 以JNDI方式创建 ...
- Java中常用的查找算法——顺序查找和二分查找
Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位 ...
- java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
- java中常用的工具类(二)
下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
- Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...
- JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)
JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...
- java中常用的字符串的截取方法
java中常用的字符串的截取方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
随机推荐
- Java中Calendar常用方法总结
//获取当前时刻yyyy-MM-dd HH:mm:ss Calendar calendar = Calendar.getInstance(); SimpleDateFormat sdf = new S ...
- ie11
可用:document.documentMode来检测. var isIE11 = function() { var result = false; if (document.documentMode ...
- powermock, 强力模拟
1. powermock是基于mockito或者easymock,TestNG之上的mock: 2. 提供了对于静态函数,私有函数的mock 3. 下载地址:https://github.com/po ...
- MongoDB分析工具之二:MongoDB分析器Profile
MongoDB优化器profile 在MySQL 中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB 中是否有类似的功能呢?答案是肯定的,那就是MongoDB Database Prof ...
- IIS应用池保持激活工具开发
之前的 开源一个定时任务调度器 webscheduler 中涉及的定时调用应用已经开始在正式环境中启用,发布到IIS下进行测试,发现一旦应用长时间没有访问(大约半个多小时)就会引发 Applicati ...
- Jquery隐藏相同name的div
$("div:[name=divName]").hide(); divName(自己div的Name)
- [hdu4372]counting buildings
解题关键: n的环排列的个数与n-1个元素的排列的个数相等. 首先可以肯定,无论从最左边还是从最右边看,最高的那个楼一定是可以看到的,从这里入手. 假设最高的楼的位置固定,最高楼的编号为n,那么我们为 ...
- OpenGL — GLFW — 颜色
OpenGL - GLFW - 颜色 参考教程:https://learnopengl-cn.readthedocs.io/zh/latest/02%20Lighting/01%20Colors/ 既 ...
- 存储引擎InnoDB
InnoDB是MySQL的默认存储引擎, InnoDB支持的最大存储限制是64TB,支持事务安全,支持行锁,支持B树索引,不支持哈希索引和全文索引,支持集群索引,支持数据缓存,支持索引缓存,不支持数据 ...
- winform中的ComboBox同时设置text和value的方法
winform中的ComboBox不能像webform中的dropdownlist控件一样,在属性中可以同时设置text和value值,可以通过编写一个新类来实现这个功能. 1.首先在form1中添加 ...