目录
一、学习前驱
二、内容主体
1、数据库搭建
3、创建项目(详细步骤和springMVC相同),导入依赖
3、具体功能的实现
一、学习前驱
学习该内容之前首先要了解怎样使用MyBatis和springMVC,不了解的可以浏览博主之前的文章
MyBatis:使用mybatis实现增删改查_ZiXiaFan的博客-CSDN博客
springMVC:idea中使用maven工程搭建SpringMVC框架_ZiXiaFan的博客-CSDN博客
二、内容主体
1、数据库搭建
(1)创建数据库字符集编码改为utf8(例:study),创建数据表,代码方式:(因为管理软件和数据库不同,粘贴复制可能有错,推荐自己手打)
create database 'study'
use 'study'
create table 'user'(
'id' int (20) not null primary key,
'name' varchar(30) defaukt null,
'pwd' varchar(30) default null
)default charset=utf2;
也可以手动方式,数据如下:
(2)向表中添加数据
代码方式:(因为管理软件和数据库不同,粘贴复制可能有错,推荐自己手打)
insert into 'user' ('id','name','pwd')values
(1,'fzx','010101'),
(2,'zs','010101'),
(3,'ls','010101')
也可以手动方式,数据如下
3、创建项目(详细步骤和springMVC相同),导入依赖
1.项目结构如下图
2.导入依赖
4.0.0 com.fan.ssm ssm1.0-SNAPSHOT war org.springframework spring-webmvc5.3.1 ch.qos.logback logback-classic1.2.3 javax.servlet javax.servlet-api3.1.0 provided org.thymeleaf thymeleaf-spring53.0.12.RELEASE mysql mysql-connector-java5.1.46 org.mybatis mybatis3.5.2 junit junit3.8.2 test junit junit4.13.2 test src/main/resources ***.xml false src/main/resources ***.xml false
3.在resources中编写mybatis的核心配置文件mybatis-config.xml
4.配置web.xml
CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceResponseEncoding true CharacterEncodingFilter public User Login(User user); //查询所有用户 public List queryAll(); //根据id查询用户 public User queryoneById(Integer id); //根据id修改用户 public int updateUserById(User user); //根据id删除用户 public int deleteUserById(Integer id); //添加用户 public int addUser(User user); }
4.配置mapper的配置文件UserMapper.xml文件(编写sql语句的文件)
5.在service层编写业务逻辑类UserService
package com.fan.ssm.service;
import com.fan.ssm.bean.User;
import com.fan.ssm.mapper.UserMapper;
import com.fan.ssm.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import java.util.ArrayList;
import java.util.List;
public class UserService {
//登录 根据name和pwd查询一条
public User login(User user){
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
User login = mapper.Login(user);
sqlSession.close();
return login;
}
//查询所有数据
public List queryAll(){
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
List list = new ArrayList();
list =mapper.queryAll();
sqlSession.close();
return list;
}
//根据id查询一条
public User queryoneById(Integer id){
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
User user=mapper.queryoneById(id);
sqlSession.close();
return user;
}
//根据id修改用户
public int updateUserById(User user){
Integer res=0;
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
res=mapper.updateUserById(user);
sqlSession.commit();
sqlSession.close();
return res;
}
//根据id删除用户
public int deleteUserById(Integer id){
Integer res=0;
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
res=mapper.deleteUserById(id);
sqlSession.commit();
sqlSession.close();
return res;
}
//用户注册
public int addUser(User user){
Integer res=0;
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
res=mapper.addUser(user);
sqlSession.commit();
sqlSession.close();
return res;
}
}
6.controller层的UserController,控制页面跳转,前后端连接
package com.fan.ssm.controller;
import com.fan.ssm.bean.User;
import com.fan.ssm.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.ArrayList;
import java.util.List;
@Controller
public class UserController {
//登录和查询,根据user的id是否为空判断是根据id查询还是根据用户名密码查询
@RequestMapping("/login")
public String login(User user , Model model){
System.out.println(user);
UserService service=new UserService();
if(user.getId()==null){
User login = service.login(user);
if (login != null){
List userList=new ArrayList();
userList = service.queryAll();
model.addAttribute("user",userList);
return "loginsuccess";
} else{
model.addAttribute("failure","failure");
return "index";
}
}else {
int res=service.updateUserById(user);
if(res>0){
List userList=new ArrayList();
userList = service.queryAll();
model.addAttribute("user",userList);
return "loginsuccess";
}
else {
System.out.println("修改失败");
}
}
return "loginsuccess";
}
//修改用户
@RequestMapping("/update")
public String uupdate(@RequestParam(value = "id") Integer id, Model model){
UserService service=new UserService();
User user = service.queryoneById(id);
model.addAttribute("user",user);
return "userUpdate";
}
//删除用户
@RequestMapping("/delete")
public String delete(@RequestParam(value = "id") Integer id, Model model){
UserService service=new UserService();
Integer res= service.deleteUserById(id);
if(res>0){
List userList=new ArrayList();
userList = service.queryAll();
model.addAttribute("user",userList);
return "loginsuccess";
}else{
System.out.println("删除失败");
}
return "loginsuccess";
}
//用户注册
@RequestMapping("/addUser")
public String addUser(User user){
UserService service=new UserService();
Integer res= service.addUser(user);
if(res>0){
return "index";
}else {
System.out.println("注册失败");
}
return "index";
}
@RequestMapping("/raddUser")
public String raddUser(){
return "addUser";
}
@RequestMapping("/")
public String index(){
return "index";
}
}
分享总结,如有侵权,请联系删除



