tomact连接池手记
1: 在JAVA程序方法中手工编写连接MySQL的JDBC代码
public void getConnect(){
try{
String driver="com.mysql.jdbc.Driver";
String uri="jdbc:mysql://127.0.0.1/samsung";
//加载驱动
Class.forName(driver);
//连接
con = DriverManager.getConnection(uri,"root","123456");
}catch(Exception e){
e.printStackTrace();
}
}
2: 在JSP文件采用SQL标签连接
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<sql:setDataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1/samsung"
user="root" password="123456" var="con"/>
或者:<sql:setDataSource dataSource="jdbc/mysql" var="conn"/>其中
jdbc/mysql名称是配置好的DBCP的JNDI名称。
<sql:query var="rs" dataSource="${con}">select * from users</sql:query>
3: 手工修改C:\Program Files\tomcat5.5\conf\context.xml文件,在<Context>标签内加入以下代码:
<Resource
name="jdbc/mysql"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/samsung"
username="root"
password="123456"
maxActive="100"
maxIdle="30"
maxWait="10000"
driverClassName="com.mysql.jdbc.Driver" />
程序中,按如下方式访问:
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
Context ctx = new InitialContext();
//各里java:comp/env死的jdbc/mysql是context.xml中的name属性
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Connection con = ds.getConnection();
4: 仅在当前WEB工程的META-INF文件甲下方添加一个context.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Context>
<Resource
name="jdbc/mysql"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/samsung"
username="root"
password="123456"
driverClassName="com.mysql.jdbc.Driver" />
</Context>
程序中,按如下方式访问:
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
Context ctx = new InitialContext();
//各里java:comp/env死的jdbc/mysql是context.xml中的name属性
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Connection con = ds.getConnection();
5:手工修改C:\Program Files\tomcat5.5\conf\server.xml文件,在<Host>标签内加入以下代码:
<Context path="/DBConnectDemo">
<Resource
name="jdbc/xxxx"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/samsung"
username="root"
password="123456"
driverClassName="com.mysql.jdbc.Driver" />
</Context>
程序中,按如下方式访问:
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
Context ctx = new InitialContext();
//各里java:comp/env死的jdbc/mysql是context.xml中的name属性
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/xxxx");
Connection con = ds.getConnection();
6: 也可从tomcat的管理控制台进入:http://127.0.0.1:8080/admin/,配置一个DBCP连接池数据源。
7:采用第三方组件Connection Pool-Proxool
8: 以Hibernate连接MySQL,其中hibernate.cfg.xml文件中如下:
<hibernate-configuration>
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">jdbc:mysql://127.0.0.1/samsung</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
</session-factory>
</hibernate-configuration>
在配置Hibernate时,会提示你输入以上相应的项,配置完成时,会自动生成两个文件,
其中一个就是上面的hibernate.cfg.xml文件,另一个是HibernateSessionFactory.java文件,
最后,是程序中的访问方式如下:
import java.sql.*;
import org.hibernate.Session;
import com.HibernateSessionFactory;
Session s = HibernateSessionFactory.getSession();
Connection con = s.connection();
9:(附后) 以下在系统抛出未找到数据源名称时,可加入以下的配置。
web.xml中配置资源的引用:
<resource-ref>
<res-ref-name>jdbc/xxx</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>