一、官方教程
http://www.mybatis.org/spring/zh/index.html
二、创建Web项目
注意添加:archetypeCatalog(internal)
三、添加依赖包
项目主要依赖的jar包有Spring核心包、Spring AOP包、MyBatis包、MyBatis-Spring适配包、JSTL、JUnit、Log4j等,具体的pom.xml文件如下:
UTF-8
1.7
1.7
4.3.18.RELEASE
junit
junit
4.12
test
log4j
log4j
1.2.17
org.springframework
spring-context
${spring.version}
org.springframework
spring-web
${spring.version}
cglib
cglib
3.2.7
org.aspectj
aspectjrt
1.8.6
org.aspectj
aspectjweaver
1.8.5
org.springframework
spring-jdbc
${spring.version}
org.glassfish.hk2.external
javax.inject
2.5.0-b62
org.mybatis
mybatis
3.4.6
org.slf4j
slf4j-api
1.7.25
org.slf4j
slf4j-log4j12
1.7.25
test
com.github.pagehelper
pagehelper
5.1.4
org.mybatis
mybatis-spring
1.3.2
mysql
mysql-connector-java
5.1.46
com.mchange
c3p0
0.9.5.2
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet
jsp-api
2.0
provided
javax.servlet
jstl
1.2
下
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
src/main/resources/generatorConfig.xml
true
true
Generate MyBatis Artifacts
generate
org.mybatis.generator
mybatis-generator-core
1.3.7
四、MyBatis反向工程配置
1.generatorConfig.xml
在src/main/resources文件夹下增加generatorConfig.xml文件。
2.mybatis-generator-Config_1_0.dtd配置
3.创建相关的包(或者文件夹)
(1)在src/main/java下创建com.etc.entity包(实体类)和com.etc.dao包(dao接口)
(2)在src/main/resources下创建com/etc/dao文件夹(mapper.xml文件)
4.通过反向工程生成相关的代码
五、Spring整合MyBatis配置
在src/main/resources文件夹下新建以下文件:
1.新建db.properties文件,用于存放数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/sharing_bicycle?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=1234
2.新建log4j.properties文件,用于输出日志信息
#全局配置
log4j.rootLogger=ERROR,stdout
#MyBatis日志配置
log4j.logger.com.etc.dao=TRACE
log4j.logger.org.springframework.beans.factory=DEBUG
#控制台输出配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
3.新建mybatis-config.xml文件,对mybatis进行配置
4.新建 applicationContext.xml文件
该文件用于整合MyBatis与Spring,该文件是整个项目的控制中心。
五、创建Service接口和Service实现类
1.创建Service接口
2.创建Service实现类
六、加载Spring容器与获得容器对象
1.修改web.xml文件,添加加载Spring容器用的监听器
Archetype Created Web Application
contextConfigLocation
classpath*:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
2.为了方便获得Spring容器实例,定义一个ContextUtils工具类
package com.etc.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Spring容器上下文工具类,用于获取当前的Spring容器
* 实现了接口ApplicationContextAware且该类被Spring管理
*则会自动调用setApplicationContext方法获取Spring容器对象
*/
@Component
public class ContextUtils implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
public static Object getBean(String beanName){
return context.getBean(beanName);
}
public static T getBean(Class clazz){
return context.getBean(clazz);
}
public static T getBean(String beanName,Class clazz){
return context.getBean(beanName,clazz);
}
}
七、完成用户列表显示功能
1.创建控制器,并添加初始化ContextUtils工具类
private UserService service;
public void init() throws ServletException{
super.init();
this.service = ContextUtils.getBean(UserService.class);
}
2.创建视图文件