package com.stu.manage.demo.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@TableName(value = "tb_user", resultMap = "BaseResultMap")
@AllArgsConstructor
@NoArgsConstructor
public class TbUser {
/**
* 配置主键生成策略
*/
@TableId(type = IdType.AUTO)
private Long id;
@TableField("username")
@NotNull
private String userName;
@TableField("password")
@NotNull
private String passWord;
@NotNull
private String phone;
private String email;
@TableField(value = "created", fill = FieldFill.INSERT)
@NotNull
private Date createTime;
@TableField(value = "updated", fill = FieldFill.INSERT_UPDATE)
@NotNull
private Date modifyTime;
/**
* 用户表和用户权限中间表是一对多的关系
*/
private List<TbUserRole> userRoles;
public List<SimpleGrantedAuthority> getRoles() {
return null;
}
}
package com.stu.manage.demo.entity;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class TbUserRole {
/**
* 配置主键生成策略
*/
@TableId(type = IdType.AUTO)
private Long id;
@TableField("user_id")
@NotNull
private Long userId;
@TableField("role_id")
@NotNull
private Long roleId;
}
package com.stu.manage.demo.mapper;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.stu.manage.demo.entity.TbRole;
import com.stu.manage.demo.entity.TbUser;
@Repository
public interface TbUserMapper extends BaseMapper<TbUser> {
Integer findCount();
}
<?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.stu.manage.demo.mapper.TbUserMapper">
<resultMap id="BaseResultMap" type="com.stu.manage.demo.entity.TbUser">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="username" jdbcType="VARCHAR" property="userName" />
<result column="password" jdbcType="VARCHAR" property="passWord" />
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="created" jdbcType="TIMESTAMP" property="createTime" />
<result column="updated" jdbcType="TIMESTAMP" property="modifyTime" />
<collection
property="userRoles"
column="id"
ofType="com.stu.manage.demo.entity.TbUserRole"
select="selectUserRole"
autoMapping="true"/>
</resultMap>
<select id="selectUserRole" resultType="com.stu.manage.demo.entity.TbUserRole">
select id, user_id, role_id from tb_user_role where user_id = #{id}
</select>
<sql id="Base_Column_List">
<!--@mbg.generated generated on Thu Apr 04 18:12:35 CST 2019.-->
id, username, `password`, phone, email, created, updated
</sql>
<select id="findCount" resultType="integer">
select count(1) from tb_user
</select>
</mapper>