Maven Web项目配置Mybatis

来源:互联网 发布:wan微型端口出现叹号 编辑:程序博客网 时间:2024/05/13 06:59

一、添加Mybatis和数据库相关的包

1 pom.xml中添加的包有spring-jdbc,mybatis,mybatis-spring,druid,mysql-connector-java,commons-io,reflectasm

完整的pom.xml内容为

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>jade_admin</groupId>  <artifactId>jade_admin</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>war</packaging>  <name>jade_admin</name>  <description/>    <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><org.springframework.security.version>3.1.6.RELEASE</org.springframework.security.version><org.springframework.version>3.2.9.RELEASE</org.springframework.version>  </properties>    <dependencies>    <dependency>      <groupId>javax</groupId>      <artifactId>javaee-api</artifactId>      <version>7.0</version>      <scope>provided</scope>    </dependency>    <dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${org.springframework.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${org.springframework.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${org.springframework.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${org.springframework.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${org.springframework.version}</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-core</artifactId><version>${org.springframework.security.version}</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-config</artifactId><version>${org.springframework.security.version}</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><version>${org.springframework.security.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${org.springframework.version}</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version></dependency> <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.14</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.34</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>com.esotericsoftware.reflectasm</groupId><artifactId>reflectasm</artifactId><version>1.09</version></dependency><dependency><groupId>org.tuckey</groupId><artifactId>urlrewritefilter</artifactId><version>4.0.3</version></dependency>  </dependencies></project>


2 /src/main/webapp/WEB-INF/lib/中添加cglib-3.1.jar


二、配置web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">  <display-name>jade_admin</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/config/spring/applicationContext-config.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>  <filter><filter-name>UrlRewriteFilter</filter-name><filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class></filter><filter-mapping><filter-name>UrlRewriteFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping><!-- 添加Spring-Security过滤器 --><filter><filter-name>springSecurityFilterChain</filter-name><filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class></filter><filter-mapping><filter-name>springSecurityFilterChain</filter-name><url-pattern>/service/*</url-pattern></filter-mapping>      <servlet>          <servlet-name>dispatcher</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>          <init-param>              <param-name>contextConfigLocation</param-name>              <param-value>/WEB-INF/classes/config/spring/applicationContext-mvc.xml</param-value>          </init-param>          <load-on-startup>1</load-on-startup>      </servlet>      <servlet-mapping>          <servlet-name>dispatcher</servlet-name>          <url-pattern>/service/*</url-pattern>      </servlet-mapping></web-app>

三、配置applicationContext-config.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"     xmlns:context="http://www.springframework.org/schema/context"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xsi:schemaLocation="    http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.2.xsd    http://www.springframework.org/schema/mvc    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">    <import resource="classpath*:config/spring/applicationContext-security.xml" /><import resource="classpath*:config/spring/applicationContext-resources.xml" /></beans>

四、配置applicationContext-resource.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"     xmlns:context="http://www.springframework.org/schema/context"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:tx="http://www.springframework.org/schema/tx"    xmlns:aop="http://www.springframework.org/schema/aop"    xsi:schemaLocation="    http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context-3.2.xsd    http://www.springframework.org/schema/mvc    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd    http://www.springframework.org/schema/aop    http://www.springframework.org/schema/aop/spring-aop-3.2.xsd  http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">    <!-- 阿里 druid数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">           <!-- 数据库基本信息配置 -->         <property name="url" value="jdbc:mysql://127.0.0.1:3306/jade?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull" />           <property name="username" value="root" />           <property name="password" value="123456" />           <property name="driverClassName" value="com.mysql.jdbc.Driver" />           <property name="filters" value="stat" />      <!-- 最大并发连接数 -->         <property name="maxActive" value="20" />         <!-- 初始化连接数量 -->         <property name="initialSize" value="1" />         <!-- 配置获取连接等待超时的时间 -->         <property name="maxWait" value="60000" />         <!-- 最小空闲连接数 -->         <property name="minIdle" value="10" />      <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->         <property name="timeBetweenEvictionRunsMillis" value="60000" />         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->         <property name="minEvictableIdleTimeMillis" value="300000" />           <property name="validationQuery" value="SELECT 'x'" />           <property name="testWhileIdle" value="true" />           <property name="testOnBorrow" value="false" />           <property name="testOnReturn" value="false" />           <property name="maxOpenPreparedStatements" value="20" />         <!-- 打开removeAbandoned功能 -->         <property name="removeAbandoned" value="true" />         <!-- 1800秒,也就是30分钟 -->         <property name="removeAbandonedTimeout" value="1800" />         <!-- 关闭abanded连接时输出错误日志 -->            <property name="logAbandoned" value="true" /></bean> <bean id="txManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><bean id="txTemplate" class="org.springframework.transaction.support.TransactionTemplate"><property name="transactionManager" ref="txManager" /></bean><bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">    <property name="dataSource" ref="dataSource"/>        <property name="configLocation" value="classpath:config/mybatis/configuration.xml"/>        <property name="mapperLocations" value="classpath*:config/mybatis/mapper/*Mapper.xml" />        <property name="typeAliasesPackage" value="com.zheng.bean" />      </bean>    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    <property name="basePackage" value="com.zheng.dao"/>    <property name="sqlSessionFactory" ref="SqlSessionFactory" />    </bean><tx:annotation-driven transaction-manager="txManager" /></beans>

五、配置configuration.xml

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration   PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"   "http://ibatis.apache.org/dtd/ibatis-3-config.dtd"><!-- "http://ibatis.apache.org/dtd/ibatis-3-config.dtd" --><!--     plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:    properties?, settings?,     typeAliases?, typeHandlers?,     objectFactory?,objectWrapperFactory?,     plugins?,     environments?, databaseIdProvider?, mappers?--><configuration><properties></properties><!-- mybatis的内部配置 --><settings><!--使全局的映射器启用缓存  --><setting name="cacheEnabled" value="true" /><!--启用延迟加载 ,当禁用时,所有关联对象都会即时加载 --><setting name="lazyLoadingEnabled" value="false" /><!-- 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载  --><setting name="aggressiveLazyLoading" value="true" /><!--允许多结果集返回, 允许或不允许多种结果集从一个单独的语句中返回(需要适合的驱动)--><setting name="multipleResultSetsEnabled" value="true" /><!--使用列标签代替列名,不同的驱动在这方便表现不同。参考驱动文档或充分测试两种方法来决定所使用的驱动  --><setting name="useColumnLabel" value="true" /><!--不能用生成键  --><setting name="useGeneratedKeys" value="false" /><!-- 指定MyBatis如何自动映射列到字段/属性。PARTIAL只会自动映射简单,没有嵌套的结果。FULL会自动映射任意复杂的结果(嵌套的或其他情况)  --><setting name="autoMappingBehavior" value="PARTIAL" /><!--默认执行器为SIMPLE,SIMPLE执行器没有什么特别之处。REUSE执行器重用预处理语句。BATCH执行器重用语句和批量更新   --><setting name="defaultExecutorType" value="SIMPLE" /><!--超时时间2500毫妙,它决定驱动等待一个数据库响应的时间  --><setting name="defaultStatementTimeout" value="25000" /><setting name="proxyFactory" value="CGLIB"/></settings></configuration>

0 0
原创粉丝点击