1.创建idea maven工程
File->New->Project
选择如下图所示
2.整合spring和mybatis
然后填写之后的信息,完成项目创建,等待maven配置完毕,会生成一个空的pom.xml文件
接下来,进行文件的配置,在文件中加入如下依赖关系,maven会自动帮忙下载其中的jar包
配置pom.xml文件
4.0.3.RELEASE
3.2.6
1.7.71.2.17tjudcjjunitjunit4.0test
org.springframeworkspring-core${spring.version}org.springframeworkspring-web${spring.version}org.springframeworkspring-oxm${spring.version}org.springframeworkspring-tx${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-webmvc${spring.version}org.springframeworkspring-aop${spring.version}org.springframeworkspring-context-support${spring.version}org.springframeworkspring-test${spring.version}
org.mybatismybatis${mybatis.version}
org.mybatismybatis-spring1.2.2
javaxjavaee-api7.0
mysqlmysql-connector-java5.1.30
commons-dbcpcommons-dbcp1.4
jstljstl1.2
log4jlog4j${log4j.version}
com.alibabafastjson1.1.41org.slf4jslf4j-api${slf4j.version}org.slf4jslf4j-log4j12${slf4j.version}
org.codehaus.jacksonjackson-mapper-asl1.9.13
commons-fileuploadcommons-fileupload1.3.1commons-iocommons-io2.4commons-codeccommons-codec1.9junitjunitRELEASE
配置数据库文件jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=******
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
配置log4j.properties
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
然后配置spring-mybatis.xml文件,如下
<?xml version="1.0" encoding="UTF-8"?>
至此,spring和mybatis整合完成,
3.mybatis自动生成mapper文件
数据库创建如下:
DROP TABLE IF EXISTS `user_t`;
CREATE TABLE `user_t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(40) NOT NULL,
`password` varchar(255) NOT NULL,
`age` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `user_t` */
insert into `user_t`(`id`,`user_name`,`password`,`age`) values (1,'小明','123456',25);
首先在pom.xml文件中加入如下代码
org.mybatis.generatormybatis-generator-maven-plugin1.3.2
src/main/resources/generatorConfig.xmltruetrueGenerate MyBatis Artifactsgenerateorg.mybatis.generatormybatis-generator-core1.3.2
注意,此时pom.xml文件中会因为存在两个<build>字段产生问题,这时需要将两个build合并一下
然后进行配置如下generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
在idea中进行如下操作
然后RUN->mybatis就会自动生成代码
4.接下来进行测试:
编写test类如下
import com.alibaba.fastjson.*;
import com.dcj.spring.pojo.*;
import com.dcj.spring.service.*;
import org.apache.log4j.*;
import org.junit.*;
import org.junit.runner.*;
import org.springframework.test.context.*;
import org.springframework.test.context.junit4.*;
import javax.annotation.*;
/**
* Created by dcj on 2016/10/22.
*/
@RunWith(SpringJUnit4ClassRunner.class) // 表示继承了SpringJUnit4ClassRunner类
@ContextConfiguration(locations = { "classpath:spring-mybatis.xml" })
public class Test_dcj {
private static Logger logger = Logger.getLogger(Test_dcj.class);
@Resource
private IUserService userService;
@Test
public void test() {
User user = userService.getUserById(2);
logger.info(JSON.toJSONString(user));
}
}
运行test
上面的结果表示整合成功。
5.加入springMVC
首先配置web.xml文件如下:
Archetype Created Web ApplicationcontextConfigLocationclasspath:spring-mybatis.xml
encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueencodingFilter/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
SpringMVCorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1SpringMVC//index.jsp
然后加入spring-mvc.xml文件
<?xml version="1.0" encoding="UTF-8"?>
text/html;charset=UTF-8
<context:component-scan base-package="com.dcj.spring" />
编写Controller文件
package com.dcj.spring.controller;
import com.dcj.spring.pojo.*;
import com.dcj.spring.service.*;
import org.springframework.stereotype.*;
import org.springframework.ui.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.*;
/**
* Created by dcj on 2016/10/22.
*/
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private IUserService userService;
@RequestMapping("/showUser/{id}")
@ResponseBody
public User toIndex(@PathVariable int id){
User user = userService.getUserById(id);
return user;
}
@RequestMapping("/gotoShow")
public String gotoShow(){
return "showUser";
}
}
文件结构如下:
6.然后运行tomcat进行测试
浏览器地址栏输入http://localhost:8080/ssm/user/showUser/1
显示{"id":1,"userName":"小明","password":"123456","age":25}
测试成功
测试静态资源访问,输入http://localhost:8080/ssm/images/images.jpeg
显示图片,测试成功
7.源码地址
https://github.com/dongchunjiang/ssm.git