说明:这是我刚开始学SSM时候自己摸索的整合方式,我重新写了一个新的、比较流行的整合方式,建议两个都看看!
1.总的目录
2.导包(我直接导入了常用的,有些是多余的)
打包下载:链接:http://pan.baidu.com/s/1bpimPB5 密码:yphy
说明:画了框框的那两个包一定要导对版本,另外有个包名为commons-dbcp-dbcp2xxxxx.jar 的,跟上面的一个画框框中的一个很像,不要导错了。(后期加入:很多数据库连接池的包都可以,唯独commons-dbcp-dbcp2xxxxx.jar会报错)
3.数据库表
CREATE TABLE USER(
id VARCHAR(20) PRIMARY KEY,
NAME VARCHAR(20),
job VARCHAR(20)
);
4.web.xml
配置 springmvc 配置文件的位置,配置编码过滤器
CRUD
index.jsp
springDispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
springDispatcherServlet
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
5.springmvc 配置文件 spring-mvc.xml
配置自动扫面的包(controller) 和 springMVC 视图解析器
6.spring 的配置文件 applicationContext.xml
1>配置数据源(org.apache.commons.dbcp2.BasicDataSource),不要导错包
2>配置 SqlSessionFaction,属性包括数据源和 mybatis 的 mapper 的文件位置
3> 配置 mybatis 注解 ,用此注解来标识 mybatis 的接口方法,使得该接口注入到 Spring 的 IOC 容器中,并且该接口的方法与 mapper 的各种操作对应。
7. 建立 mybatis 注解接口 MyBatisRepository.java
package com.loger.annotation;
/**
* Mybatis 使用该注解标识 DAO
* @author Loger
*
*/
public @interface MyBatisRepository {
}
8. 实体类 User.java
package com.loger.entity;
public class User {
private String id;
private String name;
private String job;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", job=" + job + "]";
}
public User(String id, String name, String job) {
super();
this.id = id;
this.name = name;
this.job = job;
}
public User() {
super();
}
}
mybatis 的 mapper 文件 UserMapper.xml
delete from user where id = #{id}
insert into user(id,name,job) values (#{id},#{name},#{job})
update user set name=#{name},job=#{job} where id=#{id}
对数据库操作的接口 UserDao.java
这个接口的方法名要与上面的 mapper 的对应 id 名一致 ,这个接口要用 mybatis 注解标识
package com.loger.dao;
import java.util.List;
import com.loger.annotation.MyBatisRepository;
import com.loger.entity.User;
@MyBatisRepository
public interface UserDao {
List findAll();
User findById(String id);
void deleteById(String id);
void addUser(User user);
void updateUser(User user);
}
控制器 UserController.java
package com.loger.controller;
import java.io.IOException;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.loger.dao.UserDao;
import com.loger.entity.User;
@Controller
@RequestMapping("/user")
public class UserController {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao dao = ctx.getBean(UserDao.class);
@RequestMapping("/list")
public String list(HttpServletRequest request){
List list = dao.findAll();
request.setAttribute("users", list);
return "list";
}
@RequestMapping("/add")
public String add(User user){
dao.addUser(user);
return "success";
}
@RequestMapping("/delete")
public String delete(String id){
dao.deleteById(id);
return "success";
}
@RequestMapping("/get")
public String get(String id,HttpServletRequest request) throws IOException{
User user = dao.findById(id);
request.setAttribute("user", user);
return "show";
}
@RequestMapping("/update")
public String update(User user){
dao.updateUser(user);
return "success";
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
查询所有:
List All
新增:
删除:
查询:
修改:
list.jsp (/WEB-INF/views/目录下的,包括下面几个JSP页面)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Insert title here
ID
NAME
JOB
${user.id }
${user.name }
${user.job }
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
ID
NAME
JOB
${user.id }
${user.name }
${user.job }
返回
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
操作成功!
返回
运行效果:
首页:
点击List All
增:
删:
查:
改:
源码下载:链接:http://pan.baidu.com/s/1slEUsHn 密码:op4l