通用mapper文档地址:https://gitee.com/free/Mapper/wikis/Home
pom中添加相关依赖
<!-- 通用Mapper插件文档地址:https://gitee.com/free/Mapper/wikis/Home -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
<!-- 分页插件 文档地址:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- MYSQL包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
配置application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/springboot-learning
spring.datasource.password=root
spring.datasource.username=root
# 驼峰命名规范 如:数据库字段是 order_id 那么 实体字段就要写成 orderId
mybatis.configuration.map-underscore-to-camel-case=true
#配置mybatis xml配置文件
mybatis.mapper-locations=classpath:mapper/*.xml
# 设置打印mybatis SQL语句
logging.level.com.lzc.mybatis.mapper=debug
########## 通用Mapper ##########
# 主键自增回写方法,默认值MYSQL,详细说明请看文档
mapper.identity=MYSQL
mapper.mappers=tk.mybatis.mapper.common.BaseMapper
# 设置 insert 和 update 中,是否判断字符串类型!=''
mapper.not-empty=true
# 枚举按简单类型处理
mapper.enum-as-simple-type=true
########## 分页插件 ##########
pagehelper.helper-dialect=mysql
pagehelper.params=count=countSql
pagehelper.reasonable=false
pagehelper.support-methods-arguments=true
新建一张user表
CREATE TABLE `user` (
`user_id` int(8) NOT NULL AUTO_INCREMENT COMMENT '主键自增',
`name` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(50) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
User实体类
package com.lzc.mybatis.dataobject;
import tk.mybatis.mapper.annotation.KeySql;
import javax.persistence.Id;
public class User {
@Id
@KeySql(useGeneratedKeys = true) // 使用通用mapper插入数据库后返回主键
private Integer userId;
private String name;
private String password;
public User() {
}
public User(String name, String password) {
this.name = name;
this.password = password;
}
public User(Integer userId, String name, String password) {
this.userId = userId;
this.name = name;
this.password = password;
}
// 省略get、set
}
新建UserMapper.java
package com.lzc.mybatis.mapper;
import com.lzc.mybatis.dataobject.User;
import org.apache.ibatis.annotations.Mapper;
import tk.mybatis.mapper.common.BaseMapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
/**
* 通用mapper插件可以实现简单的增删改查
*/
@Test
public void insertSelective() {
User user = new User("lzclzcl","123456");
userMapper.insertSelective(user); // 插入
userMapper.deleteByPrimaryKey(13); // 通过主键删除
userMapper.selectAll(); // 获取所有
userMapper.updateByPrimaryKey(user); // 修改
}
}