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

1 pom.xml中添加的包有mybatis,mybatis-spring,druid,MySQL-connector-Java,commons-io,reflectasm

完整的pom.xml内容为

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>jade_admin</groupId>
  6. <artifactId>jade_admin</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>war</packaging>
  9. <name>jade_admin</name>
  10. <description/>
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. <org.springframework.security.version>3.1.6.RELEASE</org.springframework.security.version>
  14. <org.springframework.version>3.2.9.RELEASE</org.springframework.version>
  15. </properties>
  16. <dependencies>
  17. <dependency>
  18. <groupId>javax</groupId>
  19. <artifactId>javaee-api</artifactId>
  20. <version>7.0</version>
  21. <scope>provided</scope>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.springframework</groupId>
  25. <artifactId>spring-core</artifactId>
  26. <version>${org.springframework.version}</version>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.springframework</groupId>
  30. <artifactId>spring-context</artifactId>
  31. <version>${org.springframework.version}</version>
  32. </dependency>
  33. <dependency>
  34. <groupId>org.springframework</groupId>
  35. <artifactId>spring-context-support</artifactId>
  36. <version>${org.springframework.version}</version>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.springframework</groupId>
  40. <artifactId>spring-web</artifactId>
  41. <version>${org.springframework.version}</version>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.springframework</groupId>
  45. <artifactId>spring-webmvc</artifactId>
  46. <version>${org.springframework.version}</version>
  47. </dependency>
  48. <dependency>
  49. <groupId>org.springframework.security</groupId>
  50. <artifactId>spring-security-core</artifactId>
  51. <version>${org.springframework.security.version}</version>
  52. </dependency>
  53. <dependency>
  54. <groupId>org.springframework.security</groupId>
  55. <artifactId>spring-security-config</artifactId>
  56. <version>${org.springframework.security.version}</version>
  57. </dependency>
  58. <dependency>
  59. <groupId>org.springframework.security</groupId>
  60. <artifactId>spring-security-web</artifactId>
  61. <version>${org.springframework.security.version}</version>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.freemarker</groupId>
  65. <artifactId>freemarker</artifactId>
  66. <version>2.3.23</version>
  67. </dependency>
  68. <dependency>
  69. <groupId>org.mybatis</groupId>
  70. <artifactId>mybatis</artifactId>
  71. <version>3.2.8</version>
  72. </dependency>
  73. <dependency>
  74. <groupId>org.mybatis</groupId>
  75. <artifactId>mybatis-spring</artifactId>
  76. <version>1.2.2</version>
  77. </dependency>
  78. <dependency>
  79. <groupId>com.alibaba</groupId>
  80. <artifactId>druid</artifactId>
  81. <version>1.0.14</version>
  82. </dependency>
  83. <dependency>
  84. <groupId>mysql</groupId>
  85. <artifactId>mysql-connector-java</artifactId>
  86. <version>5.1.34</version>
  87. </dependency>
  88. <dependency>
  89. <groupId>commons-io</groupId>
  90. <artifactId>commons-io</artifactId>
  91. <version>2.4</version>
  92. </dependency>
  93. <dependency>
  94. <groupId>com.esotericsoftware.reflectasm</groupId>
  95. <artifactId>reflectasm</artifactId>
  96. <version>1.09</version>
  97. </dependency>
  98. <dependency>
  99. <groupId>org.tuckey</groupId>
  100. <artifactId>urlrewritefilter</artifactId>
  101. <version>4.0.3</version>
  102. </dependency>
  103. </dependencies>
  104. </project>

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

二、配置web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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">
  3. <display-name>jade_admin</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.jsp</welcome-file>
  6. </welcome-file-list>
  7. <context-param>
  8. <param-name>contextConfigLocation</param-name>
  9. <param-value>/WEB-INF/classes/config/spring/applicationContext-config.xml</param-value>
  10. </context-param>
  11. <listener>
  12. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  13. </listener>
  14. <filter>
  15. <filter-name>UrlRewriteFilter</filter-name>
  16. <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  17. </filter>
  18. <filter-mapping>
  19. <filter-name>UrlRewriteFilter</filter-name>
  20. <url-pattern>/*</url-pattern>
  21. <dispatcher>REQUEST</dispatcher>
  22. <dispatcher>FORWARD</dispatcher>
  23. </filter-mapping>
  24. <!-- 添加Spring-Security过滤器 -->
  25. <filter>
  26. <filter-name>springSecurityFilterChain</filter-name>
  27. <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  28. </filter>
  29. <filter-mapping>
  30. <filter-name>springSecurityFilterChain</filter-name>
  31. <url-pattern>/service/*</url-pattern>
  32. </filter-mapping>
  33. <servlet>
  34. <servlet-name>dispatcher</servlet-name>
  35. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  36. <init-param>
  37. <param-name>contextConfigLocation</param-name>
  38. <param-value>/WEB-INF/classes/config/spring/applicationContext-mvc.xml</param-value>
  39. </init-param>
  40. <load-on-startup>1</load-on-startup>
  41. </servlet>
  42. <servlet-mapping>
  43. <servlet-name>dispatcher</servlet-name>
  44. <url-pattern>/service/*</url-pattern>
  45. </servlet-mapping>
  46. </web-app>

三、配置applicationContext-config.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="
  7. http://www.springframework.org/schema/beans
  8. http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  9. http://www.springframework.org/schema/context
  10. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  11. http://www.springframework.org/schema/mvc
  12. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
  13. <import resource="classpath*:config/spring/applicationContext-security.xml" />
  14. <import resource="classpath*:config/spring/applicationContext-resources.xml" />
  15. </beans>

四、配置applicationContext-resource.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xmlns:tx="http://www.springframework.org/schema/tx"
  7. xmlns:aop="http://www.springframework.org/schema/aop"
  8. xsi:schemaLocation="
  9. http://www.springframework.org/schema/beans
  10. http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  11. http://www.springframework.org/schema/context
  12. http://www.springframework.org/schema/context/spring-context-3.2.xsd
  13. http://www.springframework.org/schema/mvc
  14. http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  15. http://www.springframework.org/schema/aop
  16. http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
  17. http://www.springframework.org/schema/tx
  18. http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
  19. <!-- 阿里 druid数据库连接池 -->
  20. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
  21. <!-- 数据库基本信息配置 -->
  22. <property name="url" value="jdbc:mysql://127.0.0.1:3306/jade?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull" />
  23. <property name="username" value="root" />
  24. <property name="password" value="123456" />
  25. <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  26. <property name="filters" value="stat" />
  27. <!-- 最大并发连接数 -->
  28. <property name="maxActive" value="20" />
  29. <!-- 初始化连接数量 -->
  30. <property name="initialSize" value="1" />
  31. <!-- 配置获取连接等待超时的时间 -->
  32. <property name="maxWait" value="60000" />
  33. <!-- 最小空闲连接数 -->
  34. <property name="minIdle" value="10" />
  35. <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
  36. <property name="timeBetweenEvictionRunsMillis" value="60000" />
  37. <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
  38. <property name="minEvictableIdleTimeMillis" value="300000" />
  39. <property name="validationQuery" value="SELECT 'x'" />
  40. <property name="testWhileIdle" value="true" />
  41. <property name="testOnBorrow" value="false" />
  42. <property name="testOnReturn" value="false" />
  43. <property name="maxOpenPreparedStatements" value="20" />
  44. <!-- 打开removeAbandoned功能 -->
  45. <property name="removeAbandoned" value="true" />
  46. <!-- 1800秒,也就是30分钟 -->
  47. <property name="removeAbandonedTimeout" value="1800" />
  48. <!-- 关闭abanded连接时输出错误日志 -->
  49. <property name="logAbandoned" value="true" />
  50. </bean>
  51. <bean id="txManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  52. <property name="dataSource" ref="dataSource" />
  53. </bean>
  54. <bean id="txTemplate" class="org.springframework.transaction.support.TransactionTemplate">
  55. <property name="transactionManager" ref="txManager" />
  56. </bean>
  57. <bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  58. <property name="dataSource" ref="dataSource"/>
  59. <property name="configLocation" value="classpath:config/mybatis/configuration.xml"/>
  60. <property name="mapperLocations" value="classpath*:config/mybatis/mapper/*Mapper.xml" />
  61. <property name="typeAliasesPackage" value="com.zheng.bean" />
  62. </bean>
  63. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  64. <property name="basePackage" value="com.zheng.dao"/>
  65. <property name="sqlSessionFactory" ref="SqlSessionFactory" />
  66. </bean>
  67. <tx:annotation-driven transaction-manager="txManager" />
  68. </beans>

五、配置configuration.xml

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

Maven Web项目配置Mybatis的更多相关文章

  1. Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案

    一.错误现象 严重: Context initialization failed org.springframework.beans.factory.BeanCreationException: Er ...

  2. myeclipse maven web项目配置

    启用maven:window-->preference-->MyEclipse-->Maven4MyEclipse, 勾选复选框(Enable Mave4MyEclipse feat ...

  3. maven web项目配置log4j,及log4j参数设置

    本文为博主原创,转载须注明转载地址: 1.在maven项目中引入相关的依赖: 需要依赖的jar为: <!-- 配置日志 --> <dependency> <groupId ...

  4. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

  5. 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建一:建立MAVEN Web项目

    一:创建maven web项目er

  6. Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目

    本篇博客讲解IDEA如何配置Tomcat. 大部分是直接上图哦. 点击如图所示的地方,进行添加Tomcat配置页面 弹出页面后,按照如图顺序找到,点击+号 tomcat Service -> L ...

  7. 搭建maven web项目并配置quartz定时任务【业务:对比数据变化内容】 历程

    搭建maven web项目并配置quartz定时任务[业务:对比数据变化内容] 历程2018年03月03日 10:51:10 守望dfdfdf 阅读数:100更多个人分类: 工作 问题编辑版权声明:本 ...

  8. myeclipse 2014新建maven web 项目步骤

    首先在myeclipse中配置maven的安装路径: 在pom.xml中加上: 1 2 3 4 5 6 7 8 9 10  <plugins>           <plugin&g ...

  9. Maven WEB 项目使用ProGuard进行混淆,最佳解决方案

    Maven WEB 项目使用ProGuard进行混淆,最佳解决方案 近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保 ...

随机推荐

  1. DuplicateHandle

    功能:将一个进程内的伪句柄,转化为可以用来进程间通信的实句柄 BOOL DuplicateHandle(  HANDLE hSourceProcessHandle,  HANDLE hSourceHa ...

  2. Java学习笔记(十三一)——Xml 常用知识总结

    [前面的话] 在学习spring框架,发现很多地方都用到了Xml的知识,所以会过头来再学习学习Xml. 本章学习的是Xml的基础,所以基础性文章,选择性阅读. [Xml] 一.Xml初步了解 XML ...

  3. AC日记——「SCOI2016」美味 LiBreOJ 2016

    #2016. 「SCOI2016」美味 思路: 主席树: 代码: #include <bits/stdc++.h> using namespace std; #define maxa 26 ...

  4. rsync数据定时增量备份知识管理服务器数据

    为了保证公司知识管理服务器数据的安全性,所以计划每天同步confluence服务器上面数据 一.安装rsync服务端 1.查看是否安装rsync ps -ef | grep rsync 2.添加配置文 ...

  5. crontab定时任务管理

    定时任务 添加与编辑任务crontab -e0 */1 * * * command0 */2 * * * command 查询任务是否加了:crontab -l   #查看当前用户crontab -l ...

  6. HTTP(HyperText Transport Protocol)超文本传输协议的状态码

    关于HTTP状态码:是用于表示网页服务器HTTP响应状态的3位数字代码. 所有状态码的第一个数字代表了响应的五种状态之一. 1xx:消息:这一类型的状态码代表请求已被接受,需要继续处理 2xx:成功: ...

  7. ZOJ 3872 Beauty of Array【无重复连续子序列的贡献和/规律/DP】

    Edward has an array A with N integers. He defines the beauty of an array as the summation of all dis ...

  8. js for循环的陷阱

    ☞问题概述 一页面有三个按钮,点击提示相应内容.相应内容已从后台获取,并转化成json数组. var content = ["提示1", "提示2", &quo ...

  9. MYSQL注入天书之基础知识

    第一部分/page-1 Basic Challenges Background-1 基础知识 此处介绍一些mysql注入的一些基础知识. (1)注入的分类---仁者见仁,智者见智. 下面这个是阿德玛表 ...

  10. Mixins 改成使用高阶组件调用

    把组件放在另外一个组件的 render 方法里面, 并且利用了 {...this.props} {...this.state} 这些  JSX 展开属性 对比下2种代码: 原始方式: <!DOC ...