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

1.JNDI方式创建DataSource

1.1 配置数据源的相关连接信息,该配置可以在Tomcat安装目录下的conf/context.xml文件中配置。
其配置如下:

  1. <Context>
  2. ……
  3. <!-- MySql -->
  4. <Resource name="jdbc/orclight" auth="Container"
  5. type="javax.sql.DataSource"maxActive="100" maxIdle="30"
  6. maxWait="10000"username="root" password="root"
  7. driverClassName="com.mysql.jdbc.Driver"
  8. url="jdbc:mysql://localhost:3306/orclight"/>
  9. ……
  10. </Context>

1.2 在程序中以JNDI的方式创建数据源,得到数据库连接已进行相应的操作

代码如下:

  1. / 初始化JNDI上下文,创建DataSource对象
  2. Context initContext = new InitialContext();
  3. Context context = (Context)initContext.lookup("java:comp/env");
  4. 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。

代码如下:

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

3.C3P0方式创建数据源

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

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

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

代码如下:

    1. // 创建ComboPooledDataSource对象
    2. ComboPooledDataSource ds = new ComboPooledDataSource();
    3. ds.setDriverClass("com.mysql.jdbc.Driver");
    4. ds.setJdbcUrl("jdbc:mysql://localhost:3306/orclight");
    5. ds.setUser("root");
    6. ds.setPassword("root");
    7. ds.setInitialPoolSize(50);
    8. ds.setMaxPoolSize(100);
    9. ds.setMaxIdleTime(10000);

Java 中常用的数据源的更多相关文章

  1. Java中常用的数据源

    几种常用的Java数据源解决方案 Java中的数据源就是javax.sql.DataSource.DataSource的创建可以有不同的实现. JNDI方式创建DataSource 以JNDI方式创建 ...

  2. Java中常用的查找算法——顺序查找和二分查找

    Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位 ...

  3. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  4. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  5. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  6. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

  7. JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)

    JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...

  8. java中常用的字符串的截取方法

    java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...

  9. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing

    java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...

随机推荐

  1. vue 常见的新增、编辑、查看公用同一个页面

    用vue开发经常会碰到,一个功能的新增.编辑.查看公用同一个页面,如果是页面暂且不提. 但是弹框,很多人会发现,如果是点击编辑,取消,再点新增,弹框上面是会有残留数据的,为什么会这样呢,因为在点编辑的 ...

  2. [转] jquery操作select(取值,设置选中)

    每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...

  3. Parallel Programming-Task Base

    Parallel.For/ForEach是数据层面的并行,本文所讲的Task是将不同的操作并行执行,本文主要内容: Task的工作模型 初始化Task 完成Task 取消Task 一.Task工作模型 ...

  4. poj 1208 Web Navigation(堆栈操作)

    一.Description Standard web browsers contain features to move backward and forward among the pages re ...

  5. HTTP返回码中301与302的区别

    一.官方说法 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved). 302 ...

  6. 初始String

    --------------siwuxie095                             使用频繁操作繁琐的数据有哪些?                 对于基本数据类型:int.ch ...

  7. ubuntu下sourceinsight的安装

    转载自blog.csdn.net/zzobin/article/details/7376616 1. 安装wine 详看:http://wiki.ubuntu.org.cn/Wine sudo apt ...

  8. contentType和dataType的区别

    contentType: 告诉服务器,我要发什么类型的数据 dataType:告诉服务器,我要想什么类型的数据,如果没有指定,那么会自动推断是返回 XML,还是JSON,还是script,还是Stri ...

  9. SqlDataReader

    using (mycon) { //using语句与try catch finally结合使用 mycon.Open(); // MessageBox.Show("dakai"); ...

  10. Loadrunner监控服务器资源

    LoadRunner 加载监听服务器的步骤如下: 1.在 LoadRunner Controller 下,将工作面板切换到 Run状态,Available Graphs 栏 ,System Resou ...