SpringBoot整合Mybatis通用Mapper

通用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); // 修改
    }
}

猜你喜欢

转载自blog.csdn.net/lizc_lizc/article/details/81410371