码迷,mamicode.com
首页 > 编程语言 > 详细

springmvc+mybatis配置

时间:2015-03-10 20:58:32      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:

环境:

Jdk 1.8.0_40

Eclipse 4.4.2

Tomcat 8.0.20

Maven 3.2.5

Mybatis 3.2.8

Spring 4.1.5

主要步骤:(以下能够正常运行)

1. 新建工程

Maven Project

技术分享

-> New Maven Project 保持默认,直接下一步

技术分享

-> 选择org.apache.maven.archetypes,点击下一步

技术分享

-> 输入Group id 和Artifact id,完成

技术分享

2. 配置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/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>cn.sdut.ming</groupId>

<artifactId>web-demo</artifactId>

<packaging>war</packaging>

<version>0.0.1-SNAPSHOT</version>

<name>web-demo Maven Webapp</name>

<url>http://maven.apache.org</url>

<properties>

<!-- spring版本号 -->

<spring.version>4.1.5.RELEASE</spring.version>

<!-- mybatis版本号 -->

<mybatis.version>3.2.8</mybatis.version>

<!-- log4j日志文件管理包版本 -->

<slf4j.version>1.7.10</slf4j.version>

<log4j.version>1.2.17</log4j.version>

</properties>

<dependencies>

<!-- spring核心包 -->

<!-- springframe start -->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-oxm</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-tx</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context-support</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-test</artifactId>

<version>${spring.version}</version>

</dependency>

<!-- springframe end -->

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>test</scope>

</dependency>

<!-- mybatis核心包 -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>${mybatis.version}</version>

</dependency>

<!-- mybatis/spring包 -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.2.2</version>

</dependency>

<!-- mysql驱动包 -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.34</version>

</dependency>

<!-- 阿里巴巴数据源包 -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.13</version>

</dependency>

<!-- json数据 -->

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-mapper-asl</artifactId>

<version>1.9.13</version>

</dependency>

<!-- 日志文件管理包 -->

<!-- log start -->

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>${log4j.version}</version>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-api</artifactId>

<version>${slf4j.version}</version>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-log4j12</artifactId>

<version>${slf4j.version}</version>

</dependency>

<!-- log end -->

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.5.1</version>

</dependency>

</dependencies>

<build>

<finalName>web-demo</finalName>

</build>

</project>

3. 建立目录结构(如下)

技术分享

4. 相关配置文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

id="WebApp_ID" version="2.5">

<display-name>Archetype Created Web Application</display-name>

<!-- 读取spring配置文件 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:conf/spring.xml;

classpath:conf/spring-mybatis.xml

</param-value>

</context-param>

<!-- 设计路径变量值 -->

<context-param>

<param-name>webAppRootKey</param-name>

<param-value>springmvc.root</param-value>

</context-param>

<!-- Spring字符集过滤器 -->

<filter>

<filter-name>SpringEncodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

<init-param>

<param-name>forceEncoding</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>SpringEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 日志记录 -->

<context-param>

<!-- 日志配置文件路径 -->

<param-name>log4jConfigLocation</param-name>

<param-value>classpath:conf/log4j.properties</param-value>

</context-param>

<context-param>

<!-- 日志页面的刷新间隔 -->

<param-name>log4jRefreshInterval</param-name>

<param-value>6000</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

</listener>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<!-- springMVC核心配置 -->

<servlet>

<servlet-name>spring</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:conf/spring-mvc.xml</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>spring</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<!-- 错误跳转页面 -->

<error-page>

<!-- 路径不正确 -->

<error-code>404</error-code>

<location>/WEB-INF/errorpage/404.jsp</location>

</error-page>

<error-page>

<!-- 没有访问权限,访问被禁止 -->

<error-code>405</error-code>

<location>/WEB-INF/errorpage/405.jsp</location>

</error-page>

<error-page>

<!-- 内部错误 -->

<error-code>500</error-code>

<location>/WEB-INF/errorpage/500.jsp</location>

</error-page>

</web-app>

jdbc.properties

jdbc_driverClassName=com.mysql.jdbc.Driver

jdbc_url=jdbc:mysql://localhost:3306/spring?useUnicode=true&amp;characterEncoding=utf-8

jdbc_username=root

jdbc_password=XXXXX

log4j.properties

### set log levels ###

#log4j.rootLogger = debug , stdout , D , E

log4j.rootLogger = debug , stdout , D

### output to the console ###

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

#log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

### Output to the log file ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/log.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

### Save exception information to separate file ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/error.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = ERROR

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<!-- 命名空间 -->

<typeAliases>

<typeAlias alias="User" type="cn.ming.model.User"/>

</typeAliases>

<!-- 映射map -->

<mappers>

</mappers>

</configuration>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:p="http://www.springframework.org/schema/p"

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">

<!-- 扫描controller(controller层注入) -->

<context:component-scan base-package="cn.ming.controller"/>

<!-- 避免IE在ajax请求时,返回json出现下载 -->

<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

<property name="supportedMediaTypes">

<list>

<value>text/html;charset=UTF-8</value>

</list>

</property>

</bean>

<!-- 对模型视图添加前后缀 -->

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"

p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>

</beans>

spring-mybatis.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:p="http://www.springframework.org/schema/p"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:util="http://www.springframework.org/schema/util"

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/tx

http://www.springframework.org/schema/tx/spring-tx-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/util

http://www.springframework.org/schema/util/spring-util-3.2.xsd">

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"

destroy-method="close" >

<property name="driverClassName">

<value>${jdbc_driverClassName}</value>

</property>

<property name="url">

<value>${jdbc_url}</value>

</property>

<property name="username">

<value>${jdbc_username}</value>

</property>

<property name="password">

<value>${jdbc_password}</value>

</property>

<!-- 连接池最大使用连接数 -->

<property name="maxActive">

<value>20</value>

</property>

<!-- 初始化连接大小 -->

<property name="initialSize">

<value>1</value>

</property>

<!-- 获取连接最大等待时间 -->

<property name="maxWait">

<value>60000</value>

</property>

<!-- 连接池最大空闲 -->

<property name="maxIdle">

<value>20</value>

</property>

<!-- 连接池最小空闲 -->

<property name="minIdle">

<value>3</value>

</property>

<!-- 自动清除无用连接 -->

<property name="removeAbandoned">

<value>true</value>

</property>

<!-- 清除无用连接的等待时间 -->

<property name="removeAbandonedTimeout">

<value>180</value>

</property>

<!-- 连接属性 -->

<property name="connectionProperties">

<value>clientEncoding=UTF-8</value>

</property>

</bean>

<!-- mybatis文件配置,扫描所有mapper文件 -->

<bean id="sqlSessionFactory"

class="org.mybatis.spring.SqlSessionFactoryBean"

p:dataSource-ref="dataSource"

p:configLocation="classpath:conf/mybatis-config.xml"

p:mapperLocations="classpath:mapper/*.xml"/><!-- configLocation为mybatis属性 mapperLocations为所有mapper-->

<!-- spring与mybatis整合配置,扫描所有dao -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"

p:basePackage="cn.ming.dao"

p:sqlSessionFactoryBeanName="sqlSessionFactory"/>

<!-- 对数据源进行事务管理 -->

<bean id="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager"

p:dataSource-ref="dataSource"/>

</beans>

spring.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"

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.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd">

<!-- 引入jdbc配置文件 -->

<context:property-placeholder location="classpath:conf/jdbc.properties"/>

<!-- 扫描文件(自动将servicec层注入) -->

<context:component-scan base-package="cn.springmvc.service"/>

</beans>

userMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="cn.springmvc.dao.UserDAO">

<insert id="insertUser" parameterType="User" keyProperty="id">

insert into days_user(

state,

nickname)

values

(

#{state},

#{nickname})

</insert>

</mapper>

源代码

链接: http://pan.baidu.com/s/1sjC0laP 密码: h4bv

springmvc+mybatis配置

标签:

原文地址:http://www.cnblogs.com/mringg/p/4326820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!