增删查和登录功能的实现代码:
UserDao:
public interface UserDao {
//全部查询 ——分页查询
List<UserInfo> findAll(int page,int size);
//更新前的查询
UserInfo findUserById(int id);
//更新
void updUserById(UserInfo userInfo);
//增加
void addUser(UserInfo userInfo);
//删除
void delUser(int id);
//模糊查询
List<UserInfo> findUserByName(String username);
//登录
UserInfo doLogin(String username);
}
UserMapper.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zhongruan.dao.UserDao" >
<!-- 查询全部 -->
<select id="findAll" resultType="com.zhongruan.bean.UserInfo">
select*from tb_user
</select>
<!-- 更新前的查询操作 -->
<select id="findUserById" parameterType="java.lang.Integer" resultType="com.zhongruan.bean.UserInfo">
select*from tb_user where id=#{id}
</select>
<!-- 更新 -->
<update id="updUserById" parameterType="com.zhongruan.bean.UserInfo">
update tb_user set username=#{username},password=#{password} where id=#{id}
</update>
<insert id="addUser" parameterType="com.zhongruan.bean.UserInfo">
insert into tb_user(id,username,password) values(#{id},#{username},#{password})
</insert>
<delete id="delUser" parameterType="java.lang.Integer">
delete from tb_user where id=#{id}
</delete>
<select id="findUserByName" parameterType="java.lang.String" resultType="com.zhongruan.bean.UserInfo">
select*from tb_user where username like '%' #{username} '%'
</select>
<select id="doLogin" parameterType="java.lang.String" resultType="com.zhongruan.bean.UserInfo">
select*from tb_user where username=#{username}
</select>
</mapper>
UserInfoService:
public interface UserInfoService {
//全部查询 ——分页查询
List<UserInfo> findAll(int page,int size);
//更新前的查询
UserInfo findUserById(int id);
//更新
void updUserById(UserInfo userInfo);
//增加
void addUser(UserInfo userInfo);
//删除
void delUser(int id);
//模糊查询
List<UserInfo> findUserByName(String username,int page,int size);
//登录
UserInfo doLogin(String username);
}
UserInfoServiceImpl:
@Service
public class UserInfoServiceImpl implements UserInfoService {
@Autowired
private UserDao userDao;
@Override
public List<UserInfo> findAll(int page, int size) {
//开启分页
PageHelper.startPage(page,size);
return userDao.findAll(page,size);
}
@Override
public UserInfo findUserById(int id) {
return userDao.findUserById(id);
}
@Override
public void updUserById(UserInfo userInfo) {
userDao.updUserById(userInfo);
}
@Override
public void addUser(UserInfo userInfo) {
userDao.addUser(userInfo);
}
@Override
public void delUser(int id) {
userDao.delUser(id);
}
@Override
public List<UserInfo> findUserByName(String username,int page, int size) {
PageHelper.startPage(page,size);
return userDao.findUserByName(username);
}
@Override
public UserInfo doLogin(String username) {
return userDao.doLogin(username);
}
}
UserController:
@Controller
@RequestMapping("/user")
public class UserInfoController {
@Autowired
private UserInfoService userInfoService;
//全部查询 ——分页查询
@RequestMapping("findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "5") int size){
//把得到的结果集 给到PageHelper中的内置对象PageInfo中
List<UserInfo> userInfoList=userInfoService.findAll(page,size);
PageInfo pageInfo=new PageInfo(userInfoList);
ModelAndView mv=new ModelAndView();
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
//修改前的查询操作
@RequestMapping("/findUserById.do")
public ModelAndView findUserById(int id){
UserInfo userInfo = userInfoService.findUserById(id);
ModelAndView mv=new ModelAndView();
mv.addObject("userInfo",userInfo);
mv.setViewName("user-update");
return mv;
}
//更新
@RequestMapping("/updUserById.do")
public String updUserById(UserInfo userInfo){
userInfoService.updUserById(userInfo);
return "redirect:findAll.do";
}
//增加
@RequestMapping("/addUser.do")
public String addUser(UserInfo userInfo){
userInfoService.addUser(userInfo);
return "redirect:findAll.do";
}
//删除
@RequestMapping("/delUser.do")
public String delUser(int id){
userInfoService.delUser(id);
return "redirect:findAll.do";
}
//模糊查询
@RequestMapping("/findUserByName.do")
public ModelAndView findUserByName(String username,@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "5") int size){
List<UserInfo> userInfoList=userInfoService.findUserByName(username,page,size);
PageInfo pageInfo=new PageInfo(userInfoList);
ModelAndView mv=new ModelAndView();
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
//登录
@RequestMapping("/doLogin.do")
public String doLogin(String username, String password, HttpSession session){
UserInfo userInfo = userInfoService.doLogin(username);
if(userInfo!=null){
if(userInfo.getPassword().equals(password)){
System.out.println("登录成功!");
session.setAttribute("userInfo",userInfo);
return "main";
}else{
System.out.println("密码错误,请重新登录!");
session.setAttribute("message","密码错误,请重新输入!");
return "../login";
}
}else{
System.out.println("用户不存在,请重新输入!");
session.setAttribute("message","用户不存在,请重新输入!");
return "../login";
}
}
}
分页功能:
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
项目效果: