# yh-mybatis-generate
**Repository Path**: 284520459/yh-mybatis-generate
## Basic Information
- **Project Name**: yh-mybatis-generate
- **Description**: yh-mybatis-generate 是以mybatis-generator-core 为基础的插件,具备以下两个功能:1-根据索引生成查询条件;2- 分页查询
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 7
- **Forks**: 1
- **Created**: 2019-04-29
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: code-generator
**Tags**: None
## README
# yh-mybatis-generate
#### 介绍
yh-mybatis-generate 是以mybatis-generator-core 为基础的插件,具备以下两个功能:1-根据索引生成查询条件;2- 分页查询
#### 安装教程
1. 配置 maven pom.xl
```
com.yh.mybatis.generate
yh-mybatis-generate
1.0
```
2. 配置 maven 插件
```
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.5
src/main/resources/mybatis-generatorConfig/generatorConfig.xml
true
true
Generate MyBatis Artifacts
generate
org.mybatis.generator
mybatis-generator-core
1.3.5
mysql
mysql-connector-java
8.0.11
com.yh.mybatis.generate
yh-mybatis-generate
1.0
```
3. 配置generatorConfig.xml
```
```
其中配置的插件
```
```
注意事项
> 请记住要配置jdbc.properties 文件
#### 使用说明
1. 校验配置是否正确

2. 执行mybatis-generator插件

#### 生成结果文件
1. DAO 层 mapper 类
```
package com.cn.demo.dao;
import com.cn.demo.model.Demo;
import com.yh.mybatis.extention.page.IMyBatisRepository;
import com.yh.mybatis.extention.page.IPaginationDao;
/**
* com.cn.demo.dao.DemoMapper
* @date Mon Apr 29 09:29:27 CST 2019
* @author jingshao
*
*/
public interface DemoMapper extends IMyBatisRepository, IPaginationDao {
Demo selectByPrimaryKey(Long id);
}
```
2. DO 层 model 类
```
package com.cn.demo.model;
import java.io.Serializable;
/**
* demo
* @date Mon Apr 29 09:29:27 CST 2019
* @author jingshao
*
*/
public class Demo implements Serializable {
/**
* 主键
*/
private Long id;
/**
* 名称
*/
private String demoName;
/**
* 关键字
*/
private String demoKey;
/**
* demo
*/
private static final long serialVersionUID = -7007903716997160253L;
/**
* 主键
* @return id 主键
*/
public Long getId() {
return id;
}
/**
* 主键
* @param id 主键
*/
public void setId(Long id) {
this.id = id;
}
/**
* 名称
* @return demo_name 名称
*/
public String getDemoName() {
return demoName;
}
/**
* 名称
* @param demoName 名称
*/
public void setDemoName(String demoName) {
this.demoName = demoName == null ? null : demoName.trim();
}
/**
* 关键字
* @return demo_key 关键字
*/
public String getDemoKey() {
return demoKey;
}
/**
* 关键字
* @param demoKey 关键字
*/
public void setDemoKey(String demoKey) {
this.demoKey = demoKey == null ? null : demoKey.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", demoName=").append(demoName);
sb.append(", demoKey=").append(demoKey);
sb.append("]");
return sb.toString();
}
}
```
3. mybatis xml 文件
```
id, demo_name, demo_key
insert into demo
id,
demo_name,
demo_key,
#{id,jdbcType=BIGINT},
#{demoName,jdbcType=VARCHAR},
#{demoKey,jdbcType=VARCHAR},
delete from demo
where id = #{id,jdbcType=BIGINT}
update demo
demo_name = #{demoName,jdbcType=VARCHAR},
demo_key = #{demoKey,jdbcType=VARCHAR},
where id = #{id,jdbcType=BIGINT}
and id = #{id,jdbcType=BIGINT}
and demo_name = #{demoName,jdbcType=VARCHAR}
and id = #{queryObject.id,jdbcType=BIGINT}
and demo_name = #{queryObject.demoName,jdbcType=VARCHAR}
```
提醒事项
> demo_key 非索引,所以在sql中page_where_clause,select_where_clause 默认不能作为查询条件,避免乱用造成慢SQL
4. 数据库索引

#### Spring与Mybatis 集成配置
1. spring 配置文件
```
```