Java开发中数据源创建方法
2014-08-26 15:40
197 查看
JAVA开发中数据源创建方法 数据源是数据库连接池里面的概念,连接池就是指当服务器启动时,先建立几个连接,在应用需要与数据库连接时,就从连接池里获取,使用完以后,不是将连接断掉,而是放回到池里面,这样就减少了数据连接创建的次数,大大提高了连接性能。而数据源就是给服务器一个配置信息,然服务器就知道怎么使用JDBC驱动,比如url参数,数据库实例名、用户名与密码等等。Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现,下面以mysql为例介绍几种常见DataSource的创建方法:
一、JNDI方式创建DataSource 以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置,在Eclipse的J2EE架构下,也可以把context.xml文件创建在/META-INF目录下。其配置如下: 正确的配置后,就可以在程序中以JNDI的方式创建数据源,得到数据库连接并进行相应的操作。代码如下: try { Context context = new InitialContext(); if (context
== null){ throw new Exception("create context failed!"); } DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/[实例名]"); if (ds == null) { Thread.sleep(2000); ds = (DataSource) context.lookup("java:comp/env/jdbc/[实例名]"); if (ds == null) { throw
new Exception("get datasource failed!"); } } } catch (NamingException ne) { throw ne; } catch (Exception e) { throw e; } 二、Apache提供的简单连接池创建数据源 以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar,将这两个jar包放到WEB-INF/lib目录下。以这种方式创建的数据源就不再是javax.sql.DataSource了,而是org.apache.commons.dbcp.BasicDataSource。而且不再需要配置任何文件就可以直接使用。代码如下:
// 创建BasicDataSource对象 BasicDataSource ds = new BasicDataSource(); ds.setDriverClassName("com.mysql.jdbc.Driver"); ds.setUrl("jdbc:mysql://localhost:3306/[实例名]"); ds.setUsername("[用户名]"); ds.setPassword("[密码]"); ds.setInitialSize(50); ds.setMaxActive(100);
ds.setMaxIdle(30); ds.setMaxWait(10000); // 关闭数据源连接 ds.close(); 三、C3P0方式创建数据源 使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到WEB-INF/lib目录下,就可以在项目中使用C3P0创建数据源,C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource,代码如下: // 创建ComboPooledDataSource对象 ComboPooledDataSource
ds = new ComboPooledDataSource(); ds.setDriverClass("com.mysql.jdbc.Driver"); ds.setJdbcUrl("jdbc:mysql://localhost:3306/[实例名]"); ds.setUser("[用户名]"); ds.setPassword("[密码]"); ds.setInitialPoolSize(50); ds.setMaxPoolSize(100); ds.setMaxIdleTime(10000); 四、Proxool方式创建数据源
采用该方式创建数据源需要准备的jar包:proxool-01.9.0RC3.jar,将其放到WEB-INF/lib目录下,之后就可以项目中创建ProxoolDataSource对象,其代码如下: // 创建ProxoolDataSource对象 ProxoolDataSource ds = new ProxoolDataSource(); ds.setDriver("com.mysql.jdbc.Driver"); ds.setDriverUrl("jdbc:mysql://localhost:3306/[实例名]");
ds.setUser("[用户名]"); ds.setPassword("[密码]"); 五、BoneCP方式创建数据源 BoneCP是一个快速高效,开源免费的Java数据库接池。创作者称,BoneCP在性能上会完全超越所有主流的Java连接池。它可以帮你管理数据连接,让你的应用程序能更快速地访问数据库。比C3P0/DBCP(DataBaseconnection pool,数据库连接池)连接池快25倍。这个数据库连接池采用Google Collection作为内部的集合类框架,而且现在的版本已经很稳定。要使用BoneCP,必须用到的jar文件有:
· bonecp-0.6.5.jar · google-collections-1.0.jar · slf4j-api-1.5.11.jar · slf4j-log4j12-1.5.11.jar · log4j-1.2.15.jar 将这些jar包放到WEB-INF/lib目录下,就可以在程序中创建BoneCPDataSource对象,代码如下: // 创建BoneCPDataSource对象 BoneCPDataSource ds = new BoneCPDataSource(); ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/[实例名]"); ds.setUsername("[用户名]"); ds.setPassword("[密码]"); ds.setAcquireIncrement(1); ds.setAcquireRetryDelay(10000); ds.setIdleConnectionTestPeriod(100); ds.setMinConnectionsPerPartition(2); ds.setMaxConnectionsPerPartition(20);
ds.setPartitionCount(2); 在创建完数据源之后,就可以利用jdbc在程序与数据库之间建立连接,但要注意的是,要有相关的jdbc驱动包,不同的数据库需要不同的驱动,一般在各个数据库官方网都可以获取。
一、JNDI方式创建DataSource 以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置,在Eclipse的J2EE架构下,也可以把context.xml文件创建在/META-INF目录下。其配置如下: 正确的配置后,就可以在程序中以JNDI的方式创建数据源,得到数据库连接并进行相应的操作。代码如下: try { Context context = new InitialContext(); if (context
== null){ throw new Exception("create context failed!"); } DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/[实例名]"); if (ds == null) { Thread.sleep(2000); ds = (DataSource) context.lookup("java:comp/env/jdbc/[实例名]"); if (ds == null) { throw
new Exception("get datasource failed!"); } } } catch (NamingException ne) { throw ne; } catch (Exception e) { throw e; } 二、Apache提供的简单连接池创建数据源 以这种方式创建数据源必须先准备两个jar文件:commons-dbcp.jar 和 commons-pool.jar,将这两个jar包放到WEB-INF/lib目录下。以这种方式创建的数据源就不再是javax.sql.DataSource了,而是org.apache.commons.dbcp.BasicDataSource。而且不再需要配置任何文件就可以直接使用。代码如下:
// 创建BasicDataSource对象 BasicDataSource ds = new BasicDataSource(); ds.setDriverClassName("com.mysql.jdbc.Driver"); ds.setUrl("jdbc:mysql://localhost:3306/[实例名]"); ds.setUsername("[用户名]"); ds.setPassword("[密码]"); ds.setInitialSize(50); ds.setMaxActive(100);
ds.setMaxIdle(30); ds.setMaxWait(10000); // 关闭数据源连接 ds.close(); 三、C3P0方式创建数据源 使用C3P0方式创建数据源应该首先准备一个jar文件:c3p0-0.9.1.2.jar,将其放到WEB-INF/lib目录下,就可以在项目中使用C3P0创建数据源,C3P0创建的数据源对象也不是DataSource对象,而是ComboPooledDataSource,代码如下: // 创建ComboPooledDataSource对象 ComboPooledDataSource
ds = new ComboPooledDataSource(); ds.setDriverClass("com.mysql.jdbc.Driver"); ds.setJdbcUrl("jdbc:mysql://localhost:3306/[实例名]"); ds.setUser("[用户名]"); ds.setPassword("[密码]"); ds.setInitialPoolSize(50); ds.setMaxPoolSize(100); ds.setMaxIdleTime(10000); 四、Proxool方式创建数据源
采用该方式创建数据源需要准备的jar包:proxool-01.9.0RC3.jar,将其放到WEB-INF/lib目录下,之后就可以项目中创建ProxoolDataSource对象,其代码如下: // 创建ProxoolDataSource对象 ProxoolDataSource ds = new ProxoolDataSource(); ds.setDriver("com.mysql.jdbc.Driver"); ds.setDriverUrl("jdbc:mysql://localhost:3306/[实例名]");
ds.setUser("[用户名]"); ds.setPassword("[密码]"); 五、BoneCP方式创建数据源 BoneCP是一个快速高效,开源免费的Java数据库接池。创作者称,BoneCP在性能上会完全超越所有主流的Java连接池。它可以帮你管理数据连接,让你的应用程序能更快速地访问数据库。比C3P0/DBCP(DataBaseconnection pool,数据库连接池)连接池快25倍。这个数据库连接池采用Google Collection作为内部的集合类框架,而且现在的版本已经很稳定。要使用BoneCP,必须用到的jar文件有:
· bonecp-0.6.5.jar · google-collections-1.0.jar · slf4j-api-1.5.11.jar · slf4j-log4j12-1.5.11.jar · log4j-1.2.15.jar 将这些jar包放到WEB-INF/lib目录下,就可以在程序中创建BoneCPDataSource对象,代码如下: // 创建BoneCPDataSource对象 BoneCPDataSource ds = new BoneCPDataSource(); ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/[实例名]"); ds.setUsername("[用户名]"); ds.setPassword("[密码]"); ds.setAcquireIncrement(1); ds.setAcquireRetryDelay(10000); ds.setIdleConnectionTestPeriod(100); ds.setMinConnectionsPerPartition(2); ds.setMaxConnectionsPerPartition(20);
ds.setPartitionCount(2); 在创建完数据源之后,就可以利用jdbc在程序与数据库之间建立连接,但要注意的是,要有相关的jdbc驱动包,不同的数据库需要不同的驱动,一般在各个数据库官方网都可以获取。
相关文章推荐
- JAVA开发中数据源创建方法
- JAVA开发中数据源创建方法
- JAVA开发中数据源创建方法
- JAVA开发中数据源创建方法
- Android JNI开发高级篇有关Android JNI开发中比较强大和有用的功能就是从JNI层创建、构造Java的类或执行Java层的方法获取属性等操作。 一、类的相关操作 1. jclass FindClass(JNIEnv *env, const char *name);
- 开发笔记:创建Java线程的两种方法
- JUC学习笔记--从阿里Java开发手册学习线程池的正确创建方法
- 创建 Java ME Math.pow() 方法 (转自SUN中国技术社区)
- 在 Java Web 开发框架中创建VoiceXML页面--在Java中创建VoiceXML库
- Java 错误 创建泛型数组 解决方法
- Java基础-创建Java程序中的线程池-Java基础-Java-编程开发
- Java开发常用的方法
- 利用Java 创建和读取Excel文档(POI方法)
- java中访问数据源和ejb的方法
- Java基础-设计一个Java类所需的方法-Java基础-Java-编程开发
- int 和 String 互相转换的多种方法-Java基础-Java-编程开发
- java Split截取字符串的各种方法示例 本人开发调试通过
- Java中正则表达式使用方法详解-Java基础-Java-编程开发
- 在Java应用程序中创建图像的方法和技巧(1/2)
- Java学习从入门到精通 4方法篇-Java基础-Java-编程开发