第一步:整合dao层:
mybatis和spring整合,通过spring管理mapper借口,使用mapper接口扫描自动扫描mapper接口在spring中注册;
第二步:整合service层:
通过spring管理service层接口,使用配置方法将service 接口配置在spring的文件中;
第三步:整合springMVC:
由于SpringMVC是spring的一个模块,无需整合。
第一步:引入jar包:
spring核心包、mybatis、mybatis-spring、connection-java、\spring-mvc\spring-webmvc\servlet-api
第二步:spring整合mybatis:
2.1、创建mybatis.xml文件
2.2、创建bean类、接口文件mapper以及所对应创建xml文件
实体bean类:
public class User3 {
private int id;
private String username;
private String sex;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
接口mapper文件:
public interface UserMapper {
int deleteByPrimaryKey(Integer id);
int insert(User3 record);
User3 selectByPrimaryKey(Integer id);
List selectAll();
int updateByPrimaryKey(User3 record);
}
接口mapper文件对应的xml文件:
delete from user
where id = #{id,jdbcType=INTEGER}
insert into user (id, username, sex,
address)
values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{sex,jdbcType=CHAR},
#{address,jdbcType=VARCHAR})
update user
set username = #{username,jdbcType=VARCHAR},
sex = #{sex,jdbcType=CHAR},
address = #{address,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
2.3、创建spring的配置文件
第三步:service开发:
在service层中注入dao层(mapper)的实例,需要使用注解实现
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List getAllUser() {
//查询dao层的接口
return userMapper.selectAll();
}
public User3 getUserById(int id){
return userMapper.selectByPrimaryKey(id);
}
public int updateUser(User3 user3) {
return userMapper.updateByPrimaryKey(user3);
}
}
第四步:spring和springMVC的整合:
4.1、在controller层注入service对象【控制器】
@Controller
@RequestMapping(value = "/user")
public class user3Controller {
@Autowired
private UserService userService;
@RequestMapping(value = "/userList")
public ModelAndView getUserList(HttpServletRequest request, HttpServletResponse response){
System.out.println("<<<<<<<<<<<<<<<<<<<<<<");
List user3s=userService.getAllUser();
ModelAndView mav=new ModelAndView();
//返回数据
mav.addObject("user",user3s);
//指定视图逻辑名
mav.setViewName("userList");
return mav;
}
//获取用户信息
@RequestMapping(value = "editUserSubmit")
public ModelAndView userInfo(HttpServletRequest request,HttpServletResponse response){
//获取用户信息
User3 user=userService.getUserById(10);
ModelAndView view=new ModelAndView();
view.addObject("user",user);
view.setViewName("editUser");
return view;
}
@RequestMapping(value = "/editUser")
public ModelAndView editUser(HttpServletRequest request,HttpServletResponse response){
//获取用户信息
User3 user=userService.getUserById(10);
ModelAndView view=new ModelAndView();
view.addObject("user",user);
view.setViewName("editUser");
return view;
}
}
4.2、 视图页面开发:
userList.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
用户列表
用户列表
<%--选择 --%>
用户ID
用户名
性别
住址
操作
<%-- --%>
${user.id }
${user.username }
${user.sex}"
${user.address }
修改
editUser.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
详情
4.3、spring-mvc配置文件、spring-mvc-servlet以及web.xml配置
至于为什么需要配置spring-mvc-servlet.xml文件,是因为我没有添加
spring-mvc-servlet.xml文件:
springmvc
contextConfigLocation
classpath:spring-core.xml
org.springframework.web.context.ContextLoaderListener
sprmvc
org.springframework.web.servlet.DispatcherServlet
sprmvc
/
到这里,SSM框架基本已经成形,因为配置文件比较多,再给出具体示意图说明:
SSM的整合中,Spring的作用是什么?
1、通过Spring管理持久层mapper(dao层接口)
2、通过Spring来管理service层,service层是调用dao层的实现,事务管理
3、通过Spring来管理表现层(Controller层):相应的Controller来调用service层