tomcat6数据源配置及数据源使用
2014-04-06 11:06
344 查看
1.全局数据源:服务器上所有应用都可以使用
${TOMCAT_HOME}/conf/context.xml 文件中增加
在web项目web.xml文件中配置如下:
context.xml文件中
<WatchedResource>WEB-INF/web.xml</WatchedResource>
是干嘛用的呢?tomcat服务器会顶起扫描这个文件,查找WEB/INF/web.xml文件中引用上述jdbc/logDataSource数据源的应用,这样就可以动态配置数据源
2.指定虚拟主机上数据源:
${TOMCAT_HOME}/conf/Catalina/${hostname}/context.xml.default 按照上述配置
3.指定应用下数据源:
${TOMCAT_HOME}/conf/Catalina/${hostname}/${appName}.xml 按照上述配置
4.新建一个spring-config-ds-jndi.xml文件
jdbc/logDataSource就是web.xml中res-ref-name
5.新建一个spring-config-dao.xml配置文件
logDataSource就是spring-config-ds-jndi.xml中的jndi数据源bean id
6.新建sql-map-config-log.xml
7.新建Dao层类UserActionLog
8.新建UserActionLog.xml文件
9.新建service类,通过调用
userActionLogDao 这个bean是在 spring-config-dao.xml中配置好的
10.通过以上配置就可以使用数据源了,记住mysql-connector-java-5.0.8.jar需要放到${TOMCAT_HOME}/lib中
依赖jar包如下
可以在pom文件中配置
11.log4j配置如下:
${TOMCAT_HOME}/conf/context.xml 文件中增加
<Resource name="jdbc/logDataSource" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/localhost?autoReconnect=true" username="xxx" password="xxx" maxActive="100" maxIdle="30" maxWait="10000" />
在web项目web.xml文件中配置如下:
<resource-ref> <res-ref-name>jdbc/logDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
context.xml文件中
<WatchedResource>WEB-INF/web.xml</WatchedResource>
是干嘛用的呢?tomcat服务器会顶起扫描这个文件,查找WEB/INF/web.xml文件中引用上述jdbc/logDataSource数据源的应用,这样就可以动态配置数据源
2.指定虚拟主机上数据源:
${TOMCAT_HOME}/conf/Catalina/${hostname}/context.xml.default 按照上述配置
3.指定应用下数据源:
${TOMCAT_HOME}/conf/Catalina/${hostname}/${appName}.xml 按照上述配置
4.新建一个spring-config-ds-jndi.xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="logDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/logDataSource"> </property> <property name="expectedType" value="javax.sql.DataSource"></property> </bean> </beans>
jdbc/logDataSource就是web.xml中res-ref-name
5.新建一个spring-config-dao.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" default-autowire="byName"> <bean id="logSqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="classpath:sqlmap-config-log.xml"/> </bean> <bean id="userActionLogDao" class="actions.dispatcher.testSql.UserActionLog" > <property name="sqlMapClient" ref="logSqlMapClient"/> <property name="dataSource" ref="logDataSource"/> </bean> </beans>
logDataSource就是spring-config-ds-jndi.xml中的jndi数据源bean id
6.新建sql-map-config-log.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0/" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="false" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="true" /> <sqlMap resource="sqlmap/UserActionLog.xml"/> </sqlMapConfig>
7.新建Dao层类UserActionLog
public class UserActionLog extends org.springframework.orm.ibatis.SqlMapClientTemplate{ public void testSql(Student student){ this.insert("UserActionLog.testSql",student); } }
8.新建UserActionLog.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="UserActionLog"> <insert id="testSql" parameterClass="actions.dispatcher.exec.Student"> insert into userActionLog(age,name) values(#age#,#name#) </insert> </sqlMap>
9.新建service类,通过调用
package actions.dispatcher.exec; import actions.dispatcher.testSql.UserActionLog; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class TestSqlExecute { private UserActionLog userActionLogDao ; private Log log = LogFactory.getLog(TestSqlExecute.class); @Override public void execute() { Student student = new Student(); student.setAge(111); student.setName("liujin"); try { userActionLogDao.testSql( student); } catch (Exception e) { log.error("TestSqlExecute",e); } } public void setUserActionLogDao(UserActionLog userActionLogDao) { this.userActionLogDao = userActionLogDao; } }
userActionLogDao 这个bean是在 spring-config-dao.xml中配置好的
10.通过以上配置就可以使用数据源了,记住mysql-connector-java-5.0.8.jar需要放到${TOMCAT_HOME}/lib中
依赖jar包如下
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.1.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>system</scope> <systemPath>C:\Users\userName\.m2\repository\javax\servlet\servlet-api\servlet-api.jar</systemPath> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.2.1.RELEASE</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>2.3.5</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.8</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.2.1.RELEASE</version> </dependency> </dependencies>
可以在pom文件中配置
11.log4j配置如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%7r] %6p - %30.30c - %m \n"/> </layout> </appender> <appender name="LOG-MAIN" class="org.apache.log4j.DailyRollingFileAppender"> <param name="DatePattern" value="'.'yyyy-MM-dd"/> <!--<param name="file" value="${app.server.log.path}/main.log"/>--> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%7r] %6p - %30.30c - %m \n"/> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="INFO"/> <!--<param name="LevelMax" value="FATAL "/>--> </filter> </appender> <root> <priority value="INFO"/> <appender-ref ref="CONSOLE"/> </root> </log4j:configuration>
相关文章推荐
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- Tomcat下使用Druid配置JNDI数据源
- tomcat6 中context配置,使用tomcat 数据源
- tomcat中通过JNDI数据源配置使用--时间沙漏
- JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
- 什么是jndi,什么时候使用jndi,tomcat配置jndi,spring使用jndi数据源
- 配置tomcat数据库连接池及使用数据库连接池(hibernate数据源配置和使用)
- Tomcat 数据源 -- 原理、配置、使用
- JNDI学习总结(3)——Tomcat下使用C3P0配置JNDI数据源
- tomcat中通过JNDI数据源配置使用
- JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
- 使用JNDI配置Tomcat数据源[提高访问数据库效率]
- JNDI学习总结(3)——Tomcat下使用C3P0配置JNDI数据源
- iBatis使用Tomcat配置的数据源
- 使用tomcat配置数据源
- Tomcat数据源的配置和使用
- Tomcat 数据源 -- 原理、配置、使用
- tomcat数据源的配置及其使用方法
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- JNDI学习总结(4)——Tomcat下使用Druid配置JNDI数据源