接上一节的Ant Design Pro项目,做来一个简单的页面。
- 先设计一个表
-- auto-generated definition
create table epo_value_set
(
id int auto_increment primary key,
type_name varchar(100) not null,
type_alias varchar(100) charset utf8 null,
type_value varchar(4000) charset utf8 null,
enabled int default 1 null
)
comment '字典配置表';
- 初始化一些数据
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (1, 'TYPE_VALUE', '字典类型', 'TYPE_VALUE', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (2, 'TYPE_VALUE', '订单类型', 'PO_TYPE', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (20, 'PO_TYPE', '物资订单', 'GoodsPO', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (21, 'PO_TYPE', '服采订单', 'P2P', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (22, 'TYPE_VALUE', '需求类型', 'PR_TYPE', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (23, 'PR_TYPE', '礼品', 'GIFT', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (24, 'PR_TYPE', '手机', 'PHONE', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (25, 'PR_TYPE', '常规办公', 'GENERAL', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (26, 'PO_TYPE', 'IDC', 'IDC', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (27, 'PR_TYPE', 'IT设置更换', 'EXCHANGE', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (28, 'PR_TYPE', '项目申请', 'PROJECT', 1);
INSERT INTO epo.epo_value_set (id, type_name, type_alias, type_value, enabled) VALUES (29, 'PR_TYPE', '腾讯云', 'TXC', 1);
- 创建model
public class EPOValueSet {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column epo_value_set.id
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
private Integer id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column epo_value_set.type_name
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
private String typeName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column epo_value_set.type_alias
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
private String typeAlias;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column epo_value_set.type_value
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
private String typeValue;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column epo_value_set.enabled
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
private Integer enabled;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column epo_value_set.id
*
* @return the value of epo_value_set.id
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public Integer getId() {
return id;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column epo_value_set.id
*
* @param id the value for epo_value_set.id
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public void setId(Integer id) {
this.id = id;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column epo_value_set.type_name
*
* @return the value of epo_value_set.type_name
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public String getTypeName() {
return typeName;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column epo_value_set.type_name
*
* @param typeName the value for epo_value_set.type_name
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public void setTypeName(String typeName) {
this.typeName = typeName == null ? null : typeName.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column epo_value_set.type_alias
*
* @return the value of epo_value_set.type_alias
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public String getTypeAlias() {
return typeAlias;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column epo_value_set.type_alias
*
* @param typeAlias the value for epo_value_set.type_alias
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public void setTypeAlias(String typeAlias) {
this.typeAlias = typeAlias == null ? null : typeAlias.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column epo_value_set.type_value
*
* @return the value of epo_value_set.type_value
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public String getTypeValue() {
return typeValue;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column epo_value_set.type_value
*
* @param typeValue the value for epo_value_set.type_value
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public void setTypeValue(String typeValue) {
this.typeValue = typeValue == null ? null : typeValue.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column epo_value_set.enabled
*
* @return the value of epo_value_set.enabled
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public Integer getEnabled() {
return enabled;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column epo_value_set.enabled
*
* @param enabled the value for epo_value_set.enabled
*
* @mbg.generated Wed Dec 04 01:08:10 CST 2019
*/
public void setEnabled(Integer enabled) {
this.enabled = enabled;
}
}
我上面的代码是用工具生成的,这些工生成工具在前面都介绍过了,这里就不说了。
- 引入分页插件
<!-- 分页查询插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.2.1</version>
</dependency>
这个插件的版本很重要,如果你不是这个版本,问题太多了。
- 参数类
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class EpoValueSetParam {
private String typeAlias;
private String typeName;
private String typeValue;
private String enabled ;
private int pageSize ;
private int pageNo;
}
- 产生脚本类
import org.apache.ibatis.jdbc.SQL;
import org.springframework.util.StringUtils;
public class EpoValueSetSql {
public String getEpoValueSetCount(EpoValueSetParam epoValueSetParam) {
String sql = new SQL() {
{
SELECT("COUNT(1)");
FROM("epo_value_set");
if (!StringUtils.isEmpty((epoValueSetParam.getTypeName()))) {
WHERE("type_name=#{typeName}");
}
if (!StringUtils.isEmpty((epoValueSetParam.getTypeAlias()))) {
WHERE("type_alias like CONCAT('%' , #{typeAlias} , '%')"