自己根据网上例子搭建的ssm框架 ,遇到不少坑,现在写出来和大家分享一下
我用的是myeclipse2017,tomcat9.0和jdk1.8
一、配置连接数据库
jdbc.properties
jdbc.driverClasss=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.jdbcUrl=jdbc:sqlserver://localhost;DatabaseName=testTwo
jdbc.username=sa
jdbc.password=kzq666
#定义初始连接数
jdbc.initialSize=0
#定义最大连接数
jdbc.maxActive=20
#定义最大空闲
jdbc.maxIdle=20
#定义最小空闲
jdbc.minIdle=1
#定义最长等待时间
jdbc.maxWait=60000
jdbc.driverLocation=G://java//jar_package//sqljdbc4-4.0.jar
这处填写 你下载的SQLserver jar包在电脑上所放的位置
二、配置generatorConfig.xml,可用于反向生成
数据库表结构
配置C的时,选择这样建
userId="${jdbc.username}"
password="${jdbc.password}" />
enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" >
配置好后 点击generatorConfig.xml右键,选择MyBatis Generator Con.... 运行
表示反向生成成功
三、配置spring-mybatis.xml
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-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
注:配置数据库value值,需要和jdbc.properties中的名称一致
四、配置log4j.properties
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
五、建接口和实现方法
IUserService 接口
public interface IUserService {
public User getUserById(int userId);
}
UserServiceImpl实现方法
@Service("userService")
public class UserServiceImpl implements IUserService{
@Resource
private IUserDao userDao;
@Override
public User getUserById(int userId) {
return this.userDao.selectByPrimaryKey(userId);
}
}
以上整合好了spring和mybatis框架,先写个测试类测试一下
@RunWith(SpringJUnit4ClassRunner.class) //表示继承pringJUnit4ClassRunner类
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})
public class TestMyBatis {
private static Logger logger = Logger.getLogger(TestMyBatis.class);
@Resource
private IUserService userService=null;
@Test
public void test1() {
logger.info("值:----");
User user=userService.getUserById(1);
logger.info("值:"+JSON.toJSONString(user));
}
}
显示有数据输出,则测试成功
六、配置spring-mvc.xml
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.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
七、配置web.xml
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
至此ssm框架配置完成,接下来写controller层
八、controller层、
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private IUserService userService;
@RequestMapping("/showUser")
public String toIndex(HttpServletRequest request,Model model){
int userId=Integer.parseInt(request.getParameter("id"));
User user=this.userService.getUserById(userId);
model.addAttribute("user", user);
return "showUser";
}
}
九、编写jsp
showUser.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
现在编写完毕
运行测试一下
源码下载地址:https://download.csdn.net/my