# IPoker-MybatisOperator
**Repository Path**: PokerFace_Fo/IPoker-MybatisOperator
## Basic Information
- **Project Name**: IPoker-MybatisOperator
- **Description**: No description available
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-11-15
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# IPoker-MybatisOperator
#### 当前版本号
1.2.0
#### 介绍
此项目是对Mybatis3.2的扩展 优化数据库操作的API调用,封装常用单表操作的基本方法
#### 工具详细使用
以下引用到 latest-version 请修改为最新稳定的版本号 当前 latest-version为 1.4.0
使用此插件请使用[MybatisGenerator](https://gitee.com/PokerFace_Fo/IPoker-MybatisGeneratorMavenPlugin) 来生成Mapper代码,具体配置请前往查看
#### 1. maven 引入
```
cn.ipokerface
mybatis-operatoe
${latest-version}
```
#### 2. 方法使用
假如现在有一张User表 有 ID/NAME/AGE/GRADE 字段
#####
```
# 引入Mapper
# 如果代码由MybatisGenerator生成, 则UserMapper已经生成完成,直接使用
@Autowired
UserMapper userMapper;
```
##### (1). 基本使用
```
User user = userMapper.entityByPrimaryKey(1);
```
##### (2). Mybatis3.X方法内置
```
# 此方法和Mybatis3.X方法一致 没有做修改
userMapper.insert(user);
# 插入, 只设置不为空的字段
userMapper.insertSelective(user);
# 批量插入, 全部字段
usermapper.insertBatch(userList);
```
##### (3). 查询构造
```
# 空查询
Where condition = Where.where().build();
# builder 构造
Where.Builder builder = Where.where();
build.and(User.Id.equal(123));
build.or(User.Name.like("张三"));
Where condition = builder.build();
# 设置排序
Where condition = Where.where()
.and(User.Name.like("李四"))
.orderBy(User.Age.desc())
.build();
# 基本分页
Where condition = Where.where()
.and(User.Name.likeRight("李四")) # NAME LIKE '李四%'
.orderBy(User.Age.desc())
.limit(20) # 一个条件则表示第一页 每页20条
.build();
Where condition = Where.where()
.and(User.Name.like("李四"))
.orderBy(User.Age.desc())
.limit(2,20) # 第三页, 每页20条
.build();
User user = userMapper.entityByCondition(condition); # 确保此条件下数据最多返回一条 不然会抛出异常
List users = userMapper.selectByCondition(condition);
int count = userMapper.countByCondition(condition);
int num = userMapper.deleteByCondition(condition);
```