现在的位置: 首页 > 综合 > 正文

MySQL连接池

2013年10月12日 ⁄ 综合 ⁄ 共 1697字 ⁄ 字号 评论关闭

1:

public class Basedao {
 //设计单例模式之初始化当前类的实例
 private static Basedao dao;
 //private Basedao(){}
 //得到当前类的实例
 public static synchronized Basedao getBasedao(){
    if(dao==null){
     dao=new Basedao();
    }
  return dao;
 }
 //获取数据库连接的方法
    public static DataSource getDataSource(){
      //初始化数据库源
   DataSource ds=null;
 try {
  Context initctx = new InitialContext();
  Context envctx = (Context) initctx.lookup("java:comp/env");
  //从Context中lookup数据源。
        ds = (DataSource)envctx.lookup("jdbc/mytest");
 } catch (Exception e) {
  System.out.print("出错的信息:");
  System.out.println(e);
 }
   return ds;
    }
}

2:jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:8090

3:context.xml         tomcat/conf/目录下

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/WebItem" docBase="webItem"
    debug="5" crossContext="true" reloadable="true"
    cachingAllowed="true" cacheMaxSize="20480"
    cacheTTL="10000">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
name="jdbc/mytest"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mytest?autoReconnect=true"
username="root"
password="root"
maxActive="20"
maxIdle="10"
maxWait="-1" />
</Context>

4:web.xml

<!--数据库连接池的配置-->
 <resource-ref>  
  <description>DB Connections</description>
  <res-ref-name>jdbc/mytest</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

5:加个log4j吧

log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# pattern to output thi Caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] [%F:%L] - %m%n

抱歉!评论已关闭.