# mybatis-ext
**Repository Path**: netlomin/mybatis-ext
## Basic Information
- **Project Name**: mybatis-ext
- **Description**: mybatis简化开发扩展
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-04-21
- **Last Updated**: 2022-10-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
> 技术讨论: [339763901](https://jq.qq.com/?_wv=1027&k=47urVsH)
> 项目文档: [Mybatis-Ext文档](http://netlomin.host3v.net)
mybatis-ext解决了Mybatis实体类生成,简单CRUD编写需要机械编码的问题,并能根据规则Mapper方法自动生成查询语句。简化了开发工作,提升了代码可读性.
**一、扩展功能**
- 支持IDE根据数据表自动生成的JPA实体类.
- 通用CRUD mapper
- 根据规则方法名自动生成查询语句
**二、配置使用**
- 引入maven仓库
```
lm
lm
default
http://115.29.4.168:8082/nexus/content/repositories/thirdparty/
```
- 引入maven依赖(注意:请删除项目中mybatis, mybatis-spring依赖, 防止版本冲突)
```
org.mybatis
mybatis-ext
1.0.0
```
- 配置spring
```
```
- 配置mybatis
```
```
**三、开发实例**
- 根据领域模型创建实体表

- 通过eclipse生成实体类

```
@Entity
@Table(name = "user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "birth_day")
private Date birthDay;
private String name;
private boolean show;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Date getBirthDay() {
return birthDay;
}
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isShow() {
return show;
}
public void setShow(boolean show) {
this.show = show;
}
}
```
- 创建Mapper
```
package org.mybatis.spring.ext.model.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.ext.Page;
import org.mybatis.spring.ext.Pageable;
import org.mybatis.spring.ext.mapper.CrudMapper;
import org.mybatis.spring.ext.mapper.MethodMapper;
import org.mybatis.spring.ext.model.entity.User;
@Mapper
public interface UserMapper extends CrudMapper, MethodMapper {
/**
* 查询 id = #{id} and name = #{name}的用户
*/
User getByIdANDName(@Param("id") Long id, @Param("name") String name);
/**
* 查询所有用户
*/
List lstAll();
/**
* 查询 name = #{name}的用户的用户数
*/
int cntByName(String name);
/**
* 查询 name = #{name}的用户的用户数, name为空时, 查询总用户数
*/
int cntBiName(@Param("name") String name);
/**
* 查询 name = #{name}的用户
*/
List lstByName(String name);
/**
* 查询 name like #{name}% 的用户
*/
List lstByNameStartsWith(Pageable pageable);
/**
* 分页查询:id between #{maxid} and #{minid} and name like %#{name}% order by id desc, birth_day asc limit #{offset}, #{pageSize}
*/
Page qryByIdBetweenANDNameContainsOBIdDESCBirthDayASC(Pageable pageable);
/**
* 删除id = #{id}的用户
*/
int delById(Long id);
}
```