Java数据库连接池的几种配置方法(以MySQL数

Java数据库连接池的几种配置方法(以MySQL数,第1张

连接先建立一些连接,并且这些连接允许共享,因此这样就节省了每次连接的时间开销。Mysql数据库为例,连接池在Tomcat中的配置与使用。

1、创建数据库Student,表student

2、配置serverxml文件。Tomcat安装目录下conf中serverxml文件。

<GlobalNamingResources>

<Resource

name="jdbc/DBPool"

type="javaxsqlDataSource"

password=""

driverClassName="commysqljdbcDriver"

maxIdle="2"

maxWait="5000"

username="root"

url="jdbc:mysql://localhost:3306/student"

maxActive="3"

/>

</GlobalNamingResources>

name:指定连接池的名称

type:指定连接池的类,他负责连接池的事务处理

url:指定要连接的数据库

driverClassName:指定连接数据库使用的驱动程序

username:数据库用户名

password:数据库密码

maxWait:指定最大建立连接等待时间,如果超过此时间将接到异常

maxIdle:指定连接池中连接的最大空闲数

maxActive:指定连接池最大连接数

3、配置webxml文件。

<web-app>

<resource-ref>

<description>mysql数据库连接池配置</description>

<res-ref-name>jdbc/DBPool</res-ref-name>

<res-type>javaxsqlDataSource</res-type>

<res-auth>Container</res-auth>

<res-sharing-scope>Shareable</res-sharing-scope>

</resource-ref>

</web-app>

4、配置contextxml文件

与serverxml文件所在的位置相同。

<Context>

<ResourceLink

name="jdbc/DBPool"

type="javaxsqlDataSource"

global="jdbc/DBPool"

/>

</Context>

5、测试

DataSource pool = null;

Context env = null;

Connection conn = null;

Statement st = null;

ResultSet rs = null;

try{

env = (Context)new InitialContext()lookup("java:comp/env");

//检索指定的对象,返回此上下文的一个新实例

pool = (DataSource)envlookup("jdbc/DBPool");

//获得数据库连接池

if(pool==null){outprintl("找不到指定的连接池!");}

con = poolgetConnection();

st = concreateStatement();

rs = stexecuteQuery("select from student");

}catch(Exception ex){outprintl(netoString());}

JAVAWeb开发中与数据库的连接 *** 作,配置:

1、新建数据库。

新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。

2、编写contextxml文件Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。

以下为contextxml文件样例:

name="jdbc/sampleHS"

type="javaxsqlDataSource"

maxActive="14"

maxIdle="10"

username="hstaoshu"

maxWait="5000"

="orgpostgresqlDriver"

password="hstaoshu"

url="jdbc:postgresql://localhost:5432/hstaoshu"/

详细说明:

name="jdbc/sampleHS"里面的ssampHS是可改名称,建议根据需要自己命名;

username="hstaoshu"

password="hstaoshu"此两项为你新建的数据库登录角色用户名和密码信息,只有匹配了才能访问。这里简单为了表示,把用户名和密码弄成了跟数据库名字一样。其实这是很不安全的。

url="jdbc:postgresql://localhost:5432/hstaoshu"/

这是连接数据库的URl,就像访问网站的地址一样。没有这个是无法访问数据库的。localhost:5432表示本地端口。一般不需要改动,如果你在配置数据库的时候改动过端口,那么你需要把它改回来。/hstaoshu是你的数据库名称。

其他选项请勿擅自改动。

3、编写DAO类。

DAO类的作用是与数据连接后,对数据库的一些 *** 作的封装。封装的作用。为了更好的数据管理。

DAO是真正如何使用数据库的关键步骤,前两步只是部署和配置。

privatestaticcontext=null;

privateDataSourcedataSource=null;

//一般把跟数据库的连接放在DAO类的构造函数里,只要被实例化,就能和数据库连接。

publicBookDAO(){

try{

if(context==null){

context=new();

}

dataSource=(DataSource)contextlookup("java:comp/env/jdbc/sampleHS");

//连接数据库,前面在contextxml文件配置里的URl

}catch(e2){

e2();

}

}

publicConnection(){

Connectionconn=null;

try{

conn=dataSource();//获得数据源的连接对象

}catch(e){

e();

}

returnconn;

}

做完上面的三步 *** 作,开发环境已经完全和数据库连接OK,可以开始数据库的 *** 作了。一般来说,对数据库的 *** 作语句都是提前封装好的。这样修改起来会对下面的代码影响降到最小。

如下:

//------------------数据库 *** 作语句代码封装------------------

/查看所有图书/

privatestaticfinalStringSELECT_ALL_SQL="SELECTFROMbook";

那么在使用的时候只要直接调用:

pstmt=conn(SELECT_ALL_SQL);

可能是因为版本不同不能兼容。

db2里面的Hadr其实就是Primary-Stanby数据库模式的实现,因为配置比较简单,成本比较低所以有着广泛的应用。

一个HADR环境需要两台数据库服务器:主数据库服务器(primary)和备用数据库服务(standby)。当主数据库中发生事务 *** 作时,会同时将日志文件通过TCP/IP协议传送到备用数据库服务器。

1、 将mysql-connector-java-516-binjar,也在%Tomcat_Home%\common\lib\下,

2、 在tomcat中manager中配置数据源名,配置完后内容自动放在conf\serverxml中。

3、 在conf\catalina\localhost\下建你应用程序的xml文件,例wei2xml中,内容为<Context docBase="wei2" path="/wei2">

<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javaxsqlDataSource"/>

</Context>

其中jdbc/mysql为配置的JNDI;

下面说下JNDI与DataSource

JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;

要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。

JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接)

以上就是关于Java数据库连接池的几种配置方法(以MySQL数全部的内容,包括:Java数据库连接池的几种配置方法(以MySQL数、JAVAweb与数据库的连接到底是怎样连的啊(javaweb项目怎么连接数据库)、db2数据库env_inst_info查的实例名跟get instance不一样的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10145608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存