1.控制器:
文件:UserController.java
@Controller public class UserController extends BaseController { @Resource SysUserMapper userMapper; /** * 用户管理 */ @RequestMapping(UrlConst.user_admin) public String index(Model model, UserAdminForm userAdminForm) { // .... Page<UserPO> userPageList = this.userMapper.getUserPageList(userAdminForm1, new Page<>(userAdminForm.getPageNum(), userAdminForm.getPageSize())); // .... } }
2.Mapper接口
文件:SysUserMapper.java
package com.wanma.framework_web.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.wanma.framework_web.entity.SysUser; import com.wanma.framework_web.model.form.user.UserAdminForm; import com.wanma.framework_web.model.po.UserPO; /** * 用户表 Mapper 接口 */ public interface SysUserMapper extends BaseMapper<SysUser> { Page<UserPO> getUserPageList(@Param("userAdminForm") UserAdminForm userAdminForm, @Param("page") Page<UserPO> page); }
3.xml文件
文件:SysUserMapper.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.wanma.framework_web.mapper.SysUserMapper"> <select id="getUserPageList" resultType="com.wanma.framework_web.model.po.UserPO"> SELECT A.id, A.account, A.realname, B.role_names FROM sys_user A LEFT JOIN sys_user_ext B ON A.id = B.user_id <where> <if test="userAdminForm.account!=null and userAdminForm.account!=''"> AND A.account LIKE CONCAT('%', #{userAdminForm.account, jdbcType=VARCHAR},'%') </if> <if test="userAdminForm.realname!=null and userAdminForm.realname!=''"> AND A.realname LIKE CONCAT('%', #{userAdminForm.realname, jdbcType=VARCHAR},'%') </if> </where> ORDER BY A.id ASC </select> </mapper>
1.控制器:
文件:WebUploaderWidget.java
/** * 文件上传 Widget */ @Slf4j @Component public class WebUploaderWidget<T> extends BaseWidget<T> { @Resource private SysUserFileMapper userFileMapper; @Override public String render(Model model, LinkedHashMap<String, Object> params, LinkedHashMap<T, Object> extParams) { // ...... List<UserFilePO> userFileList = this.userFileMapper.getFileListByIds(userId, ufileIds); // ...... } }
2.Mapper接口
文件:SysUserFileMapper.java
/** * 用户文件表 Mapper 接口 */ public interface SysUserFileMapper extends BaseMapper<SysUserFile> { List<UserFilePO> getFileListByIds(@Param("userId") int userId, @Param("ids") List<String> ids); }
3.xml文件
文件:SysUserFileMapper.xml
参数userId为 必填:
<?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.wanma.framework_web.mapper.SysUserFileMapper"> <select id="getFileListByIds" resultType="com.wanma.framework_web.model.po.UserFilePO"> SELECT A.id,A.file_name AS name, A.file_url AS url FROM user_file A LEFT JOIN base_file B ON A.file_id=B.id WHERE <choose> <when test="userId lte 0"> 1=2 </when> <when test="ids==null or ids.size()==0"> 1=3 </when> <otherwise> A.user_id=${userId} AND A.id IN <foreach collection="ids" item="id" open="(" separator="," close=")"> ${id} </foreach> </otherwise> </choose> </select> </mapper>
参数userId为 非必填:
<?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.wanma.framework_web.mapper.SysUserFileMapper"> <select id="getFileListByIds" resultType="com.wanma.framework_web.model.po.UserFilePO"> SELECT A.id,A.file_name AS name, A.file_url AS url FROM sys_user_file A LEFT JOIN sys_file B ON A.file_id=B.id <where> <choose> <when test="ids==null or ids.size()==0"> 1=3 </when> <when test="userId > 0"> A.user_id=${userId} AND A.id IN <foreach collection="ids" item="id" open="(" separator="," close=")"> ${id} </foreach> </when> <otherwise> A.id IN <foreach collection="ids" item="id" open="(" separator="," close=")"> ${id} </foreach> </otherwise> </choose> </where> </select> </mapper>