模板项目~通用Mapper Generator逆向工程配置
配置文件
generatorConfig.xml
文件位于项目根目录
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 引入 application.yml -->
<!--<properties resource="application.yml"/>-->
<!-- MyBatis3Simple:不生成 Example相关类及方法 ,Mybatis3复杂的 生产Example-->
<!--MyBatis3模式默认生成的对象将包含很多"by Example"的方法,如果不想生成这些,可以在后续的table元素中配置取消;
MyBatis3Simple模式默认每个表生成一个实体对象,生成的Mapper接口仅包含必须的5个方法:
deleteByPrimaryKey、insert、selectByPrimaryKey、selectAll、updateByPrimaryKey。-->
<context id="Mysql" targetRuntime="Mybatis3" defaultModelType="flat">
<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--覆盖生成XML文件-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<!-- 指定生成 Mapper 的继承模板 -->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.demo.utils.generator.TyMapper"/>
</plugin>
<!-- 生成 JavaBean 对象重写 toString方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!-- 生成 JavaBean 对象继承 Serializable 类 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- 生成 JavaBean 对象重写 equals 和 hashCode 方法 -->
<!-- <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" /> -->
<!-- jdbc 连接配置 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/demo-example-dev?characterEncoding=utf-8&useSSL=false"
userId="root"
password="xxxxx">
</jdbcConnection>
<!--非必须,类型处理器,在数据库类型和java类型之间的转换控制-->
<!-- 默认情况下数据库中的 decimal,bigInt 在 Java 对应是 sql 下的 BigDecimal 类 -->
<javaTypeResolver type="com.demo.utils.generator.JavaTypeResolverImplUtil">
<property name="forceBigDecimals" value="false"></property>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.demo.sys.entity" targetProject="src/main/java">
<!-- 是否允许子包 -->
<!-- <property name="enableSubPackages" value="false"/>-->
<!-- 是否对modal添加构造函数 -->
<!-- <property name="constructorBased" value="true"/>-->
<!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
<!-- <property name="trimStrings" value="true"/>-->
<!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
<!-- <property name="immutable" value="false"/>-->
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<javaClientGenerator targetPackage="com.demo.sys.dao" targetProject="src/main/java" type="XMLMAPPER"/>
<!-- Mysql 配置 -->
<!-- <generatedKey column="id" sqlStatement="Mysql" identity="true" /> -->
<!-- tableName:数据库表名,domainObjectName:生成文件名 ,schema:数据源-->
<table tableName="sys_user" enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
<generatedKey column="user_id" sqlStatement="Mysql" identity="true"/>
</table>
<table tableName="sys_menu" enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
<generatedKey column="menu_id" sqlStatement="Mysql" identity="true"/>
</table>
<!-- Oracle 配置 -->
<!-- <generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/> -->
</context>
</generatorConfiguration>
JavaTypeResolverImplUtil类型转换类
package com.demo.utils.generator;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl;
/**
* 描述: 类型转换矫正
*
* @author shaomingshuai@126.com
* Package: com.demo.utils.generator
* 创建日期: 2020-09-27 13:47
* @version V1.0.0
* @see
*/
public class JavaTypeResolverImplUtil extends JavaTypeResolverDefaultImpl {
/**
* 将数据库 tinyint 类型由默认byte 修正为Ingteger类型
*/
public JavaTypeResolverImplUtil() {
super();
super.typeMap.put(-6,
new JavaTypeResolverDefaultImpl.JdbcTypeInformation("TINYINT",
new FullyQualifiedJavaType(Integer.class.getName())));
}
}
需要配合generatorConfig.xml文件的配置使用 详见 javaTypeResolver标签
POM.XML配置
如果需要使用复杂代码 Example的话 ,需要引入
1.3.7暂未发现问题,更低版本在生产xml的时候会出现追加问题。而不是覆盖,导致代码报错
<mybatis-generator.version>1.3.7</mybatis-generator.version>
<!-- 通用Mapper的版本号 -->
<mapper.version>4.0.1</mapper.version>
<mysql.connector.version>5.1.30</mysql.connector.version>
<!--接口注释@Param-->
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-core</artifactId>
<version>3.0</version>
</dependency>
<!-- SpringBoot - MyBatis 逆向工程 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>${mybatis-generator.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
<!--通用mapper代码生成器 end=============-->
<!-- MyBatis 逆向工程 插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis-generator.version}</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
<configuration>
<!-- 允许移动生成的文件 -->
<verbose>true</verbose>
<!-- 是否覆盖 -->
<overwrite>true</overwrite>
<!-- 配置文件 -->
<configurationFile>
${basedir}/generatorConfig.xml
</configurationFile>
</configuration>
</plugin>
其他引入包详见pom配置文章
TyMapper
package com.demo.utils.generator;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
/**
* 描述: tongyongmapper
*
* @author shaomingshuai@126.com
* Package: com.demo.utils
* 创建日期: 2020-09-27 8:37
* @version V1.0.0
* @see
*/
public interface TyMapper<T> extends Mapper<T>, MySqlMapper<T> {
//如果启用Example 类操作,请注掉后面的这两个继承,不然会出现冲突
//冲突原因是因为mybatis的接口不能重载方法名
//修正继承类 建议使用以下继承
//extends BaseMapper<T>, RowBoundsMapper<T>, MySqlMapper<T>, Marker
//Mapper《T》中还继承了ExampleMapper<T>类会与已经生成的Example冲突
//当然如果你喜欢用也可以,自己生成的代码多,但是方便,原生继承的代码少,但是使用的时候需要自己输入字段名
}
GeneratorMybatis
package com.demo.utils.generator;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* 描述: 运行逆向工程
*
* @author shaomingshuai@126.com
* Package: com.demo.utils
* 创建日期: 2020-09-27 8:48
* @version V1.0.0
* @see
*/
public class GeneratorMybatis {
public void generator() throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//指定 逆向工程配置文件
File configFile = new File("generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
public static void main(String[] args) throws Exception {
try {
GeneratorMybatis generatorSqlmap = new GeneratorMybatis();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
生成后示意代码
使用的是标准类型,如果启用简单类型,则不会生产xml实际代码和Example类
SysUser
package com.demo.sys.entity;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
@Table(name = "sys_user")
public class SysUser implements Serializable {
/**
* 用户id
*/
@Id
@Column(name = "user_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;
/**
* 角色id
*/
@Column(name = "role_id")
private Long roleId;
/**
* 部门id
*/
@Column(name = "dept_id")
private Long deptId;
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 姓名
*/
private String name;
/**
* 随机值用于密码加密
*/
private String salt;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String mobile;
/**
* 状态 0:禁用 1:正常
*/
private Integer status;
/**
* 创建者ID
*/
@Column(name = "create_user_id")
private Long createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 头像id
*/
private String icon;
/**
* 标签
*/
private String tag;
/**
* 别名
*/
private String alias;
/**
* 所属区域,对应字典表
*/
@Column(name = "region_code")
private Integer regionCode;
private static final long serialVersionUID = 1L;
/**
* 获取用户id
*
* @return user_id - 用户id
*/
public Long getUserId() {
return userId;
}
/**
* 设置用户id
*
* @param userId 用户id
*/
public void setUserId(Long userId) {
this.userId = userId;
}
/**
* 获取角色id
*
* @return role_id - 角色id
*/
public Long getRoleId() {
return roleId;
}
/**
* 设置角色id
*
* @param roleId 角色id
*/
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
/**
* 获取部门id
*
* @return dept_id - 部门id
*/
public Long getDeptId() {
return deptId;
}
/**
* 设置部门id
*
* @param deptId 部门id
*/
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
/**
* 获取用户名
*
* @return username - 用户名
*/
public String getUsername() {
return username;
}
/**
* 设置用户名
*
* @param username 用户名
*/
public void setUsername(String username) {
this.username = username;
}
/**
* 获取密码
*
* @return password - 密码
*/
public String getPassword() {
return password;
}
/**
* 设置密码
*
* @param password 密码
*/
public void setPassword(String password) {
this.password = password;
}
/**
* 获取姓名
*
* @return name - 姓名
*/
public String getName() {
return name;
}
/**
* 设置姓名
*
* @param name 姓名
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取随机值用于密码加密
*
* @return salt - 随机值用于密码加密
*/
public String getSalt() {
return salt;
}
/**
* 设置随机值用于密码加密
*
* @param salt 随机值用于密码加密
*/
public void setSalt(String salt) {
this.salt = salt;
}
/**
* 获取邮箱
*
* @return email - 邮箱
*/
public String getEmail() {
return email;
}
/**
* 设置邮箱
*
* @param email 邮箱
*/
public void setEmail(String email) {
this.email = email;
}
/**
* 获取手机号
*
* @return mobile - 手机号
*/
public String getMobile() {
return mobile;
}
/**
* 设置手机号
*
* @param mobile 手机号
*/
public void setMobile(String mobile) {
this.mobile = mobile;
}
/**
* 获取状态 0:禁用 1:正常
*
* @return status - 状态 0:禁用 1:正常
*/
public Integer getStatus() {
return status;
}
/**
* 设置状态 0:禁用 1:正常
*
* @param status 状态 0:禁用 1:正常
*/
public void setStatus(Integer status) {
this.status = status;
}
/**
* 获取创建者ID
*
* @return create_user_id - 创建者ID
*/
public Long getCreateUserId() {
return createUserId;
}
/**
* 设置创建者ID
*
* @param createUserId 创建者ID
*/
public void setCreateUserId(Long createUserId) {
this.createUserId = createUserId;
}
/**
* 获取创建时间
*
* @return create_time - 创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置创建时间
*
* @param createTime 创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取头像id
*
* @return icon - 头像id
*/
public String getIcon() {
return icon;
}
/**
* 设置头像id
*
* @param icon 头像id
*/
public void setIcon(String icon) {
this.icon = icon;
}
/**
* 获取标签
*
* @return tag - 标签
*/
public String getTag() {
return tag;
}
/**
* 设置标签
*
* @param tag 标签
*/
public void setTag(String tag) {
this.tag = tag;
}
/**
* 获取别名
*
* @return alias - 别名
*/
public String getAlias() {
return alias;
}
/**
* 设置别名
*
* @param alias 别名
*/
public void setAlias(String alias) {
this.alias = alias;
}
/**
* 获取所属区域,对应字典表
*
* @return region_code - 所属区域,对应字典表
*/
public Integer getRegionCode() {
return regionCode;
}
/**
* 设置所属区域,对应字典表
*
* @param regionCode 所属区域,对应字典表
*/
public void setRegionCode(Integer regionCode) {
this.regionCode = regionCode;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", userId=").append(userId);
sb.append(", roleId=").append(roleId);
sb.append(", deptId=").append(deptId);
sb.append(", username=").append(username);
sb.append(", password=").append(password);
sb.append(", name=").append(name);
sb.append(", salt=").append(salt);
sb.append(", email=").append(email);
sb.append(", mobile=").append(mobile);
sb.append(", status=").append(status);
sb.append(", createUserId=").append(createUserId);
sb.append(", createTime=").append(createTime);
sb.append(", icon=").append(icon);
sb.append(", tag=").append(tag);
sb.append(", alias=").append(alias);
sb.append(", regionCode=").append(regionCode);
sb.append("]");
return sb.toString();
}
}
SysUserExample
package com.demo.sys.entity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class SysUserExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public SysUserExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andUserIdIsNull() {
addCriterion("user_id is null");
return (Criteria) this;
}
public Criteria andUserIdIsNotNull() {
addCriterion("user_id is not null");
return (Criteria) this;
}
public Criteria andUserIdEqualTo(Long value) {
addCriterion("user_id =", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotEqualTo(Long value) {
addCriterion("user_id <>", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThan(Long value) {
addCriterion("user_id >", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("user_id >=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThan(Long value) {
addCriterion("user_id <", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThanOrEqualTo(Long value) {
addCriterion("user_id <=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdIn(List<Long> values) {
addCriterion("user_id in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotIn(List<Long> values) {
addCriterion("user_id not in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdBetween(Long value1, Long value2) {
addCriterion("user_id between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotBetween(Long value1, Long value2) {
addCriterion("user_id not between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andRoleIdIsNull() {
addCriterion("role_id is null");
return (Criteria) this;
}
public Criteria andRoleIdIsNotNull() {
addCriterion("role_id is not null");
return (Criteria) this;
}
public Criteria andRoleIdEqualTo(Long value) {
addCriterion("role_id =", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotEqualTo(Long value) {
addCriterion("role_id <>", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdGreaterThan(Long value) {
addCriterion("role_id >", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {
addCriterion("role_id >=", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdLessThan(Long value) {
addCriterion("role_id <", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdLessThanOrEqualTo(Long value) {
addCriterion("role_id <=", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdIn(List<Long> values) {
addCriterion("role_id in", values, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotIn(List<Long> values) {
addCriterion("role_id not in", values, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdBetween(Long value1, Long value2) {
addCriterion("role_id between", value1, value2, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotBetween(Long value1, Long value2) {
addCriterion("role_id not between", value1, value2, "roleId");
return (Criteria) this;
}
public Criteria andDeptIdIsNull() {
addCriterion("dept_id is null");
return (Criteria) this;
}
public Criteria andDeptIdIsNotNull() {
addCriterion("dept_id is not null");
return (Criteria) this;
}
public Criteria andDeptIdEqualTo(Long value) {
addCriterion("dept_id =", value, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdNotEqualTo(Long value) {
addCriterion("dept_id <>", value, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdGreaterThan(Long value) {
addCriterion("dept_id >", value, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdGreaterThanOrEqualTo(Long value) {
addCriterion("dept_id >=", value, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdLessThan(Long value) {
addCriterion("dept_id <", value, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdLessThanOrEqualTo(Long value) {
addCriterion("dept_id <=", value, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdIn(List<Long> values) {
addCriterion("dept_id in", values, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdNotIn(List<Long> values) {
addCriterion("dept_id not in", values, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdBetween(Long value1, Long value2) {
addCriterion("dept_id between", value1, value2, "deptId");
return (Criteria) this;
}
public Criteria andDeptIdNotBetween(Long value1, Long value2) {
addCriterion("dept_id not between", value1, value2, "deptId");
return (Criteria) this;
}
public Criteria andUsernameIsNull() {
addCriterion("username is null");
return (Criteria) this;
}
public Criteria andUsernameIsNotNull() {
addCriterion("username is not null");
return (Criteria) this;
}
public Criteria andUsernameEqualTo(String value) {
addCriterion("username =", value, "username");
return (Criteria) this;
}
public Criteria andUsernameNotEqualTo(String value) {
addCriterion("username <>", value, "username");
return (Criteria) this;
}
public Criteria andUsernameGreaterThan(String value) {
addCriterion("username >", value, "username");
return (Criteria) this;
}
public Criteria andUsernameGreaterThanOrEqualTo(String value) {
addCriterion("username >=", value, "username");
return (Criteria) this;
}
public Criteria andUsernameLessThan(String value) {
addCriterion("username <", value, "username");
return (Criteria) this;
}
public Criteria andUsernameLessThanOrEqualTo(String value) {
addCriterion("username <=", value, "username");
return (Criteria) this;
}
public Criteria andUsernameLike(String value) {
addCriterion("username like", value, "username");
return (Criteria) this;
}
public Criteria andUsernameNotLike(String value) {
addCriterion("username not like", value, "username");
return (Criteria) this;
}
public Criteria andUsernameIn(List<String> values) {
addCriterion("username in", values, "username");
return (Criteria) this;
}
public Criteria andUsernameNotIn(List<String> values) {
addCriterion("username not in", values, "username");
return (Criteria) this;
}
public Criteria andUsernameBetween(String value1, String value2) {
addCriterion("username between", value1, value2, "username");
return (Criteria) this;
}
public Criteria andUsernameNotBetween(String value1, String value2) {
addCriterion("username not between", value1, value2, "username");
return (Criteria) this;
}
public Criteria andPasswordIsNull() {
addCriterion("password is null");
return (Criteria) this;
}
public Criteria andPasswordIsNotNull() {
addCriterion("password is not null");
return (Criteria) this;
}
public Criteria andPasswordEqualTo(String value) {
addCriterion("password =", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotEqualTo(String value) {
addCriterion("password <>", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThan(String value) {
addCriterion("password >", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThanOrEqualTo(String value) {
addCriterion("password >=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThan(String value) {
addCriterion("password <", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThanOrEqualTo(String value) {
addCriterion("password <=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLike(String value) {
addCriterion("password like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotLike(String value) {
addCriterion("password not like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordIn(List<String> values) {
addCriterion("password in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordNotIn(List<String> values) {
addCriterion("password not in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordBetween(String value1, String value2) {
addCriterion("password between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andPasswordNotBetween(String value1, String value2) {
addCriterion("password not between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andSaltIsNull() {
addCriterion("salt is null");
return (Criteria) this;
}
public Criteria andSaltIsNotNull() {
addCriterion("salt is not null");
return (Criteria) this;
}
public Criteria andSaltEqualTo(String value) {
addCriterion("salt =", value, "salt");
return (Criteria) this;
}
public Criteria andSaltNotEqualTo(String value) {
addCriterion("salt <>", value, "salt");
return (Criteria) this;
}
public Criteria andSaltGreaterThan(String value) {
addCriterion("salt >", value, "salt");
return (Criteria) this;
}
public Criteria andSaltGreaterThanOrEqualTo(String value) {
addCriterion("salt >=", value, "salt");
return (Criteria) this;
}
public Criteria andSaltLessThan(String value) {
addCriterion("salt <", value, "salt");
return (Criteria) this;
}
public Criteria andSaltLessThanOrEqualTo(String value) {
addCriterion("salt <=", value, "salt");
return (Criteria) this;
}
public Criteria andSaltLike(String value) {
addCriterion("salt like", value, "salt");
return (Criteria) this;
}
public Criteria andSaltNotLike(String value) {
addCriterion("salt not like", value, "salt");
return (Criteria) this;
}
public Criteria andSaltIn(List<String> values) {
addCriterion("salt in", values, "salt");
return (Criteria) this;
}
public Criteria andSaltNotIn(List<String> values) {
addCriterion("salt not in", values, "salt");
return (Criteria) this;
}
public Criteria andSaltBetween(String value1, String value2) {
addCriterion("salt between", value1, value2, "salt");
return (Criteria) this;
}
public Criteria andSaltNotBetween(String value1, String value2) {
addCriterion("salt not between", value1, value2, "salt");
return (Criteria) this;
}
public Criteria andEmailIsNull() {
addCriterion("email is null");
return (Criteria) this;
}
public Criteria andEmailIsNotNull() {
addCriterion("email is not null");
return (Criteria) this;
}
public Criteria andEmailEqualTo(String value) {
addCriterion("email =", value, "email");
return (Criteria) this;
}
public Criteria andEmailNotEqualTo(String value) {
addCriterion("email <>", value, "email");
return (Criteria) this;
}
public Criteria andEmailGreaterThan(String value) {
addCriterion("email >", value, "email");
return (Criteria) this;
}
public Criteria andEmailGreaterThanOrEqualTo(String value) {
addCriterion("email >=", value, "email");
return (Criteria) this;
}
public Criteria andEmailLessThan(String value) {
addCriterion("email <", value, "email");
return (Criteria) this;
}
public Criteria andEmailLessThanOrEqualTo(String value) {
addCriterion("email <=", value, "email");
return (Criteria) this;
}
public Criteria andEmailLike(String value) {
addCriterion("email like", value, "email");
return (Criteria) this;
}
public Criteria andEmailNotLike(String value) {
addCriterion("email not like", value, "email");
return (Criteria) this;
}
public Criteria andEmailIn(List<String> values) {
addCriterion("email in", values, "email");
return (Criteria) this;
}
public Criteria andEmailNotIn(List<String> values) {
addCriterion("email not in", values, "email");
return (Criteria) this;
}
public Criteria andEmailBetween(String value1, String value2) {
addCriterion("email between", value1, value2, "email");
return (Criteria) this;
}
public Criteria andEmailNotBetween(String value1, String value2) {
addCriterion("email not between", value1, value2, "email");
return (Criteria) this;
}
public Criteria andMobileIsNull() {
addCriterion("mobile is null");
return (Criteria) this;
}
public Criteria andMobileIsNotNull() {
addCriterion("mobile is not null");
return (Criteria) this;
}
public Criteria andMobileEqualTo(String value) {
addCriterion("mobile =", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileNotEqualTo(String value) {
addCriterion("mobile <>", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileGreaterThan(String value) {
addCriterion("mobile >", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileGreaterThanOrEqualTo(String value) {
addCriterion("mobile >=", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileLessThan(String value) {
addCriterion("mobile <", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileLessThanOrEqualTo(String value) {
addCriterion("mobile <=", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileLike(String value) {
addCriterion("mobile like", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileNotLike(String value) {
addCriterion("mobile not like", value, "mobile");
return (Criteria) this;
}
public Criteria andMobileIn(List<String> values) {
addCriterion("mobile in", values, "mobile");
return (Criteria) this;
}
public Criteria andMobileNotIn(List<String> values) {
addCriterion("mobile not in", values, "mobile");
return (Criteria) this;
}
public Criteria andMobileBetween(String value1, String value2) {
addCriterion("mobile between", value1, value2, "mobile");
return (Criteria) this;
}
public Criteria andMobileNotBetween(String value1, String value2) {
addCriterion("mobile not between", value1, value2, "mobile");
return (Criteria) this;
}
public Criteria andStatusIsNull() {
addCriterion("status is null");
return (Criteria) this;
}
public Criteria andStatusIsNotNull() {
addCriterion("status is not null");
return (Criteria) this;
}
public Criteria andStatusEqualTo(Integer value) {
addCriterion("status =", value, "status");
return (Criteria) this;
}
public Criteria andStatusNotEqualTo(Integer value) {
addCriterion("status <>", value, "status");
return (Criteria) this;
}
public Criteria andStatusGreaterThan(Integer value) {
addCriterion("status >", value, "status");
return (Criteria) this;
}
public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("status >=", value, "status");
return (Criteria) this;
}
public Criteria andStatusLessThan(Integer value) {
addCriterion("status <", value, "status");
return (Criteria) this;
}
public Criteria andStatusLessThanOrEqualTo(Integer value) {
addCriterion("status <=", value, "status");
return (Criteria) this;
}
public Criteria andStatusIn(List<Integer> values) {
addCriterion("status in", values, "status");
return (Criteria) this;
}
public Criteria andStatusNotIn(List<Integer> values) {
addCriterion("status not in", values, "status");
return (Criteria) this;
}
public Criteria andStatusBetween(Integer value1, Integer value2) {
addCriterion("status between", value1, value2, "status");
return (Criteria) this;
}
public Criteria andStatusNotBetween(Integer value1, Integer value2) {
addCriterion("status not between", value1, value2, "status");
return (Criteria) this;
}
public Criteria andCreateUserIdIsNull() {
addCriterion("create_user_id is null");
return (Criteria) this;
}
public Criteria andCreateUserIdIsNotNull() {
addCriterion("create_user_id is not null");
return (Criteria) this;
}
public Criteria andCreateUserIdEqualTo(Long value) {
addCriterion("create_user_id =", value, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdNotEqualTo(Long value) {
addCriterion("create_user_id <>", value, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdGreaterThan(Long value) {
addCriterion("create_user_id >", value, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("create_user_id >=", value, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdLessThan(Long value) {
addCriterion("create_user_id <", value, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdLessThanOrEqualTo(Long value) {
addCriterion("create_user_id <=", value, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdIn(List<Long> values) {
addCriterion("create_user_id in", values, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdNotIn(List<Long> values) {
addCriterion("create_user_id not in", values, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdBetween(Long value1, Long value2) {
addCriterion("create_user_id between", value1, value2, "createUserId");
return (Criteria) this;
}
public Criteria andCreateUserIdNotBetween(Long value1, Long value2) {
addCriterion("create_user_id not between", value1, value2, "createUserId");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andIconIsNull() {
addCriterion("icon is null");
return (Criteria) this;
}
public Criteria andIconIsNotNull() {
addCriterion("icon is not null");
return (Criteria) this;
}
public Criteria andIconEqualTo(String value) {
addCriterion("icon =", value, "icon");
return (Criteria) this;
}
public Criteria andIconNotEqualTo(String value) {
addCriterion("icon <>", value, "icon");
return (Criteria) this;
}
public Criteria andIconGreaterThan(String value) {
addCriterion("icon >", value, "icon");
return (Criteria) this;
}
public Criteria andIconGreaterThanOrEqualTo(String value) {
addCriterion("icon >=", value, "icon");
return (Criteria) this;
}
public Criteria andIconLessThan(String value) {
addCriterion("icon <", value, "icon");
return (Criteria) this;
}
public Criteria andIconLessThanOrEqualTo(String value) {
addCriterion("icon <=", value, "icon");
return (Criteria) this;
}
public Criteria andIconLike(String value) {
addCriterion("icon like", value, "icon");
return (Criteria) this;
}
public Criteria andIconNotLike(String value) {
addCriterion("icon not like", value, "icon");
return (Criteria) this;
}
public Criteria andIconIn(List<String> values) {
addCriterion("icon in", values, "icon");
return (Criteria) this;
}
public Criteria andIconNotIn(List<String> values) {
addCriterion("icon not in", values, "icon");
return (Criteria) this;
}
public Criteria andIconBetween(String value1, String value2) {
addCriterion("icon between", value1, value2, "icon");
return (Criteria) this;
}
public Criteria andIconNotBetween(String value1, String value2) {
addCriterion("icon not between", value1, value2, "icon");
return (Criteria) this;
}
public Criteria andTagIsNull() {
addCriterion("tag is null");
return (Criteria) this;
}
public Criteria andTagIsNotNull() {
addCriterion("tag is not null");
return (Criteria) this;
}
public Criteria andTagEqualTo(String value) {
addCriterion("tag =", value, "tag");
return (Criteria) this;
}
public Criteria andTagNotEqualTo(String value) {
addCriterion("tag <>", value, "tag");
return (Criteria) this;
}
public Criteria andTagGreaterThan(String value) {
addCriterion("tag >", value, "tag");
return (Criteria) this;
}
public Criteria andTagGreaterThanOrEqualTo(String value) {
addCriterion("tag >=", value, "tag");
return (Criteria) this;
}
public Criteria andTagLessThan(String value) {
addCriterion("tag <", value, "tag");
return (Criteria) this;
}
public Criteria andTagLessThanOrEqualTo(String value) {
addCriterion("tag <=", value, "tag");
return (Criteria) this;
}
public Criteria andTagLike(String value) {
addCriterion("tag like", value, "tag");
return (Criteria) this;
}
public Criteria andTagNotLike(String value) {
addCriterion("tag not like", value, "tag");
return (Criteria) this;
}
public Criteria andTagIn(List<String> values) {
addCriterion("tag in", values, "tag");
return (Criteria) this;
}
public Criteria andTagNotIn(List<String> values) {
addCriterion("tag not in", values, "tag");
return (Criteria) this;
}
public Criteria andTagBetween(String value1, String value2) {
addCriterion("tag between", value1, value2, "tag");
return (Criteria) this;
}
public Criteria andTagNotBetween(String value1, String value2) {
addCriterion("tag not between", value1, value2, "tag");
return (Criteria) this;
}
public Criteria andAliasIsNull() {
addCriterion("alias is null");
return (Criteria) this;
}
public Criteria andAliasIsNotNull() {
addCriterion("alias is not null");
return (Criteria) this;
}
public Criteria andAliasEqualTo(String value) {
addCriterion("alias =", value, "alias");
return (Criteria) this;
}
public Criteria andAliasNotEqualTo(String value) {
addCriterion("alias <>", value, "alias");
return (Criteria) this;
}
public Criteria andAliasGreaterThan(String value) {
addCriterion("alias >", value, "alias");
return (Criteria) this;
}
public Criteria andAliasGreaterThanOrEqualTo(String value) {
addCriterion("alias >=", value, "alias");
return (Criteria) this;
}
public Criteria andAliasLessThan(String value) {
addCriterion("alias <", value, "alias");
return (Criteria) this;
}
public Criteria andAliasLessThanOrEqualTo(String value) {
addCriterion("alias <=", value, "alias");
return (Criteria) this;
}
public Criteria andAliasLike(String value) {
addCriterion("alias like", value, "alias");
return (Criteria) this;
}
public Criteria andAliasNotLike(String value) {
addCriterion("alias not like", value, "alias");
return (Criteria) this;
}
public Criteria andAliasIn(List<String> values) {
addCriterion("alias in", values, "alias");
return (Criteria) this;
}
public Criteria andAliasNotIn(List<String> values) {
addCriterion("alias not in", values, "alias");
return (Criteria) this;
}
public Criteria andAliasBetween(String value1, String value2) {
addCriterion("alias between", value1, value2, "alias");
return (Criteria) this;
}
public Criteria andAliasNotBetween(String value1, String value2) {
addCriterion("alias not between", value1, value2, "alias");
return (Criteria) this;
}
public Criteria andRegionCodeIsNull() {
addCriterion("region_code is null");
return (Criteria) this;
}
public Criteria andRegionCodeIsNotNull() {
addCriterion("region_code is not null");
return (Criteria) this;
}
public Criteria andRegionCodeEqualTo(Integer value) {
addCriterion("region_code =", value, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeNotEqualTo(Integer value) {
addCriterion("region_code <>", value, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeGreaterThan(Integer value) {
addCriterion("region_code >", value, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeGreaterThanOrEqualTo(Integer value) {
addCriterion("region_code >=", value, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeLessThan(Integer value) {
addCriterion("region_code <", value, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeLessThanOrEqualTo(Integer value) {
addCriterion("region_code <=", value, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeIn(List<Integer> values) {
addCriterion("region_code in", values, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeNotIn(List<Integer> values) {
addCriterion("region_code not in", values, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeBetween(Integer value1, Integer value2) {
addCriterion("region_code between", value1, value2, "regionCode");
return (Criteria) this;
}
public Criteria andRegionCodeNotBetween(Integer value1, Integer value2) {
addCriterion("region_code not between", value1, value2, "regionCode");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}
SysUserMapper
package com.demo.sys.dao;
import com.demo.sys.entity.SysUser;
import com.demo.sys.entity.SysUserExample;
import com.demo.utils.generator.TyMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface SysUserMapper extends TyMapper<SysUser> {
long countByExample(SysUserExample example);
int deleteByExample(SysUserExample example);
List<SysUser> selectByExample(SysUserExample example);
int updateByExampleSelective(@Param("record") SysUser record, @Param("example") SysUserExample example);
int updateByExample(@Param("record") SysUser record, @Param("example") SysUserExample example);
}
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.demo.sys.dao.SysUserMapper">
<resultMap id="BaseResultMap" type="com.demo.sys.entity.SysUser">
<!--
WARNING - @mbg.generated
-->
<id column="user_id" jdbcType="BIGINT" property="userId" />
<result column="role_id" jdbcType="BIGINT" property="roleId" />
<result column="dept_id" jdbcType="BIGINT" property="deptId" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="password" jdbcType="VARCHAR" property="password" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="salt" jdbcType="VARCHAR" property="salt" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="mobile" jdbcType="VARCHAR" property="mobile" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="create_user_id" jdbcType="BIGINT" property="createUserId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="icon" jdbcType="VARCHAR" property="icon" />
<result column="tag" jdbcType="VARCHAR" property="tag" />
<result column="alias" jdbcType="VARCHAR" property="alias" />
<result column="region_code" jdbcType="INTEGER" property="regionCode" />
</resultMap>
<sql id="Example_Where_Clause">
<!--
WARNING - @mbg.generated
-->
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<!--
WARNING - @mbg.generated
-->
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
<!--
WARNING - @mbg.generated
-->
user_id, role_id, dept_id, username, password, name, salt, email, mobile, status,
create_user_id, create_time, icon, tag, alias, region_code
</sql>
<select id="selectByExample" parameterType="com.demo.sys.entity.SysUserExample" resultMap="BaseResultMap">
<!--
WARNING - @mbg.generated
-->
select
<if test="distinct">
distinct
</if>
'true' as QUERYID,
<include refid="Base_Column_List" />
from sys_user
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<delete id="deleteByExample" parameterType="com.demo.sys.entity.SysUserExample">
<!--
WARNING - @mbg.generated
-->
delete from sys_user
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<select id="countByExample" parameterType="com.demo.sys.entity.SysUserExample" resultType="java.lang.Long">
<!--
WARNING - @mbg.generated
-->
select count(*) from sys_user
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
<!--
WARNING - @mbg.generated
-->
update sys_user
<set>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if test="record.roleId != null">
role_id = #{record.roleId,jdbcType=BIGINT},
</if>
<if test="record.deptId != null">
dept_id = #{record.deptId,jdbcType=BIGINT},
</if>
<if test="record.username != null">
username = #{record.username,jdbcType=VARCHAR},
</if>
<if test="record.password != null">
password = #{record.password,jdbcType=VARCHAR},
</if>
<if test="record.name != null">
name = #{record.name,jdbcType=VARCHAR},
</if>
<if test="record.salt != null">
salt = #{record.salt,jdbcType=VARCHAR},
</if>
<if test="record.email != null">
email = #{record.email,jdbcType=VARCHAR},
</if>
<if test="record.mobile != null">
mobile = #{record.mobile,jdbcType=VARCHAR},
</if>
<if test="record.status != null">
status = #{record.status,jdbcType=TINYINT},
</if>
<if test="record.createUserId != null">
create_user_id = #{record.createUserId,jdbcType=BIGINT},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.icon != null">
icon = #{record.icon,jdbcType=VARCHAR},
</if>
<if test="record.tag != null">
tag = #{record.tag,jdbcType=VARCHAR},
</if>
<if test="record.alias != null">
alias = #{record.alias,jdbcType=VARCHAR},
</if>
<if test="record.regionCode != null">
region_code = #{record.regionCode,jdbcType=INTEGER},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
<!--
WARNING - @mbg.generated
-->
update sys_user
set user_id = #{record.userId,jdbcType=BIGINT},
role_id = #{record.roleId,jdbcType=BIGINT},
dept_id = #{record.deptId,jdbcType=BIGINT},
username = #{record.username,jdbcType=VARCHAR},
password = #{record.password,jdbcType=VARCHAR},
name = #{record.name,jdbcType=VARCHAR},
salt = #{record.salt,jdbcType=VARCHAR},
email = #{record.email,jdbcType=VARCHAR},
mobile = #{record.mobile,jdbcType=VARCHAR},
status = #{record.status,jdbcType=TINYINT},
create_user_id = #{record.createUserId,jdbcType=BIGINT},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
icon = #{record.icon,jdbcType=VARCHAR},
tag = #{record.tag,jdbcType=VARCHAR},
alias = #{record.alias,jdbcType=VARCHAR},
region_code = #{record.regionCode,jdbcType=INTEGER}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
</mapper>
附上一部分使用说明
package com;
import com.demo.sys.dao.SysMenuMapper;
import com.demo.sys.dao.SysUserMapper;
import com.demo.sys.entity.SysUser;
import com.demo.sys.entity.SysUserExample;
import groovy.util.logging.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 描述: 测试基类
*
* @author xxxx@126.com
* Package: com
* 创建日期: 2020-09-24 11:18
* @version V1.0.0
* @see
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class TestBase {
private final static Logger logger = LoggerFactory.getLogger(TestBase.class);
@Autowired
SysUserMapper sysUserMapper;
@Autowired
SysMenuMapper sysMenuMapper;
@Test
public void main() {
logger.info("TestBase.main logger = !!!");
}
@Test
public void a() {
//条件查询
// example.setOrderByClause(“字段名 ASC”); 添加升序排列条件,DESC为降序
// example.setDistinct(false) 去除重复,boolean型,true为选择不重复的记录。
// criteria.andXxxIsNull 添加字段xxx为null的条件
// criteria.andXxxIsNotNull 添加字段xxx不为null的条件
// criteria.andXxxEqualTo(value) 添加xxx字段等于value条件
// criteria.andXxxNotEqualTo(value) 添加xxx字段不等于value条件
// criteria.andXxxGreaterThan(value) 添加xxx字段大于value条件
// criteria.andXxxGreaterThanOrEqualTo(value) 添加xxx字段大于等于value条件
// criteria.andXxxLessThan(value) 添加xxx字段小于value条件
// criteria.andXxxLessThanOrEqualTo(value) 添加xxx字段小于等于value条件
// criteria.andXxxIn(List<?>) 添加xxx字段值在List<?>条件
// criteria.andXxxNotIn(List<?>) 添加xxx字段值不在List<?>条件
// criteria.andXxxLike(“%”+value+”%”) 添加xxx字段值为value的模糊查询条件
// criteria.andXxxNotLike(“%”+value+”%”) 添加xxx字段值不为value的模糊查询条件
// criteria.andXxxBetween(value1,value2) 添加xxx字段值在value1和value2之间条件
// criteria.andXxxNotBetween(value1,value2) 添加xxx字段值不在value1和value2之间条件
SysUserExample example = new SysUserExample();
example.createCriteria()
.andMobileEqualTo("ad")
.andMobileIn(new ArrayList<>())
.andCreateTimeGreaterThan(new Date())
.andMobileIsNotNull();
List<SysUser> sysUsers = sysUserMapper.selectByExample(example);
//或者语句查询 where mobile = "ad" or (mobile = "av" and salt= "444")
SysUserExample example1 = new SysUserExample();
example1.createCriteria().andMobileEqualTo("ad");
SysUserExample.Criteria or = example1.or();
or.andMobileEqualTo("av").andSaltEqualTo("4444");
//查询结果排序
example1.setOrderByClause("字段名 asc");
}
}