MyBatis实现用户的动态搜索分页等功能(2)

实现Dao层

配置RoleMapper.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="dao.RoleMapper">
<select id="findRoleAndUser" resultMap="roleanduserlist">
    SELECT * FROM role a LEFT JOIN users b ON a.rid = b.urole
</select>
<resultMap type="Role" id="roleanduserlist">

<id property="rid" column="rid"/>
<result property="rname" column="rname"/>
<collection property="listuser" ofType="User">
    <id property="id" column="id"/>
	<result property="uname" column="uname"/>
	<result property="upass" column="upass"/>
	<result property="urole" column="urole"/>
	<result property="usex" column="usex"/>
</collection>
</resultMap>
</mapper>

Dao层实现impl
UserMapperImpl.java

package dao.impl;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import dao.UserMapper;
import entity.User;
import utils.Mybatis;

public class UserMapperImpl implements UserMapper {
	/*
	*调用实体类方法
	*/
	SqlSession sqlSession = Mybatis.getSqlSession();
	UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
	@Override
	public List<User> findByConditions(User user) {
	
		return null;
	}
	/*模糊查询用户*/
	@Override
	public List<User> findUserAndRoleBymohu(User user) {
		return userMapper.findUserAndRoleBymohu(user);
	}
	@Override
	public User UserLogin(String name,String password) {
		
		return userMapper.UserLogin(name, password);
	}
	@Override
	public List<User> findByUserAndAddress() {
		
		return userMapper.findByUserAndAddress();
	}
	/*联表查询用户名和角色*/
	@Override
	public List<User> findUserAndRole(String uname, int urole) {
		
		return userMapper.findUserAndRole(uname, urole);
	}
	/*更新用户*/
	@Override
	public int updateuser(User user) {
		
		return userMapper.updateuser(user);
	}
/*查找用户*/
	@Override
	public User findUserById(int id) {
		
		return userMapper.findUserById(id);
	}
/*根据id删除用户*/
	@Override
	public int delUserById(int id) {
		
		return userMapper.delUserById(id);
	}
/*批量删除*/
	@Override
	public int delUsersByIds(String[] arrid) {
		
		return userMapper.delUsersByIds(arrid);
	}
/*分页*/
	@Override
	public List<User> paginationUser(int page, int count) {
		List<User> list = userMapper.paginationUser(page, count);
		Mybatis.closeSqlsession(sqlSession);
		return list;
		
	}
/*分页搜索*/
	@Override
	public List<User> pagingsearch(String uname, int urole,int page, int count) {
		List<User> list = userMapper.pagingsearch(uname, urole,page,count);
		Mybatis.closeSqlsession(sqlSession);
		return list;
	}

	@Override
	public int addUser(User user) {
		
		return userMapper.addUser(user);
	}
}

RoleMapperImpl.java

package dao.impl;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import dao.RoleMapper;
import entity.Role;
import utils.Mybatis;

public class RoleMapperImpl implements RoleMapper {

	
	SqlSession sqlSession = Mybatis.getSqlSession();
	RoleMapper userMapper = sqlSession.getMapper(RoleMapper.class);
	@Override
	public List<Role> findRoleAndUser() {
		
		return userMapper.findRoleAndUser();
	}

}

下面我们实现service
IAddressService.java 写上接口

package service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import entity.Address;
import entity.User;

public interface IAddressService {

	public List<User> findUserAndRole(@Param("uname")String uname,@Param("urole")int urole);

	public List<Address> findAddressAndUser();
	
	public int updateuser(User user);
	public User findUserById(int id);
	//根据id删除用户
	public int delUserById(int id);
	//批量删除用户
    public int delUsersByIds(String[] arrid);
    //分页
  	public List<User> paginationUser(int page,int count);
  //分页+搜索
  	public List<User> pagingsearch(String uname,int urole,int page,int count);
	//增加用户
    public int addUser(User user);

}

service实现类

package service.impl;

import java.util.List;
import dao.UserMapper;
import dao.impl.UserMapperImpl;
import entity.Address;
import entity.User;
import service.IAddressService;

public class AddressServiceImpl implements IAddressService {

	
	UserMapper tfindUserAndRole = new UserMapperImpl();

	@Override
	public List<User> findUserAndRole(String uname, int urole) {
		
		return tfindUserAndRole.findUserAndRole(uname, urole);
	}

	@Override
	public List<Address> findAddressAndUser() {
		
		return null;
	}

	@Override
	public int updateuser(User user) {

		return tfindUserAndRole.updateuser(user);
	}

	@Override
	public User findUserById(int id) {
		
		return tfindUserAndRole.findUserById(id);
	}

	@Override
	public int delUserById(int id) {
		
		return tfindUserAndRole.delUserById(id);
	}

	@Override
	public int delUsersByIds(String[] arrid) {
		
		return tfindUserAndRole.delUsersByIds(arrid);
	}

	@Override
	public List<User> paginationUser(int page, int count) {
		
		return tfindUserAndRole.paginationUser(page, count);
		
	}

	@Override
	public List<User> pagingsearch(String uname, int urole, int page, int count) {
		
		return tfindUserAndRole.pagingsearch(uname, urole, page, count);
	}

	@Override
	public int addUser(User user) {
		
		return tfindUserAndRole.addUser(user);
	}

	
}

接下来写上工具类utils

猜你喜欢

转载自blog.csdn.net/weixin_42561197/article/details/82885894