Home > Database > Mysql Tutorial > Java web之mysql数据源_MySQL

Java web之mysql数据源_MySQL

WBOY
Release: 2016-06-01 13:12:21
Original
1803 people have browsed it

配置这类事,有了框架之后就简单多了。一直用hibernate,再“返璞归真”,又要重温一下。

顺便记录,供日后用到之际再做参考。

有两种方案:

一、局部数据源(在web应用中配置)

在Web应用META-INF目录下,建立context.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?><context reloadable="true"><resource name="jdbc/sampleDB" type="javax.sql.DataSource" maxactive="40" maxidle="2" username="root" maxwait="5000" driverclassname="com.mysql.jdbc.Driver" password="111111" url="jdbc:mysql://localhost:3306/bookstore"></resource></context>
Copy after login

个别参数稍作说明:maxActive数据库连接池中维护的connection连接数;

    maxIdle即空闲连接数,与网站的并发量有关,如果网站并发量峰值为100,建议该参数设置>100;

    maxWait允许的等待连接数,与网站的负载有关,如某刻并发量为1000,连接池仅存100的连接数,将会有900的待连接,此时根据网站需求以及服务器的承载情况适当的调节。

//在业务逻辑代码中,使用jee框架提供的jndi技术,访问数据源。

使用javax.naming.Context接口的lookup()方法查找JNDI数据源 
Context context = new InitialContext();DataSource ds = (DataSource)context.lookup(      "java:comp/env/jdbc/sampleDS"); 
Copy after login
lookup()方法的参数是数据源名字符串,加上“java:comp/env”固定前缀。
得到了DataSource对象的引用后,就可以通过它的getConnection()方法获得数据库连接对象Connection:Connection conn=ds.getConnection();

二、全局数据源(在tomcat中配置)

全局数据源可被所有应用程序使用,在/conf/server.xml文件的中标签定义,定义后就可在任何的应用程序中使用。
假设我们要配置一个名为jdbc/bookstore的数据源,应该按下列步骤操作:

(1)首先在server.xml文件的标签内增加下面代码:

<resource name="jdbc/bookstore" type="javax.sql.DataSource" maxactive="40" maxidle="2" username="bookstore" maxwait="5000" driverclassname="org.postgresql.Driver" password="bookstore" url="jdbc:postgresql://localhost:5432/bookstore"></resource>
Copy after login

(2)在Web应用程序中建立一个META-INF目录,在其中建立一个context.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?><context reloadable="true">  <resourcelink global="jdbc/bookstore" name="jdbc/sampleDS" type="javax.sql.DataSource"></resourcelink>  <watchedresource>WEB-INF/web.xml</watchedresource></context>
Copy after login

引用方式与方案一相同。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template