tk.mybatis配置以及使用

什么是通用Mapper?

日常开发中,我们会发现好多操作都是一样的,比如通过id进行查询、删除、修改等。虽然这些功能实现差不多,但是xml文件和mapper接口也是需要写一堆一样的代码,有时候修改查询条件的时候也会去修改这些地方,那么通用Mapper就是用来解决这个问题的。通用Mapper可以极大的方便开发人员,可以按照自己的需要选择通用方法,极大的减少了我们的开发成本。

  • 极其方便的使用Mybatis单表的增删改查
  • 不支持通用的多表联合查询
  • 通用mapper支持mybatis-3.2.4及以上版本

配置tk.mybatis

加入以下依赖

<dependency>
  <groupId>tk.mybatis</groupId>
  <artifactId>mapper-spring-boot-starter</artifactId>
  <version>2.1.5</version>
</dependency>

可以看到,已经集成了Mybatis,所以不需要再依赖mybaits
在这里插入图片描述
加入@MapperScan注解,指向mapper包

/**
 * 启动入口
 *
 * @author Aaron
 * @date 2019/12/20 15:22
 */
@MapperScan("com.lyf.mapper")
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

在UserMapper中继承Mapper接口,注意Mapper是tk包下的

import com.lyf.entity.TbUser;
import tk.mybatis.mapper.common.Mapper;

/**
 * @author Aaron
 * @date 2020/1/3 09:27
 */
public interface UserMapper extends Mapper<TbUser> {
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lyf.mapper.UserMapper">
    <resultMap id="BaseResultMap" type="com.lyf.entity.TbUser">
        <id column="id" jdbcType="BIGINT" property="id"/>
        <result column="name" jdbcType="VARCHAR" property="name"/>
        <result column="password" jdbcType="VARCHAR" property="password"/>
        <result column="email" jdbcType="VARCHAR" property="email"/>
        <result column="phone" jdbcType="VARCHAR" property="phone"/>
        <result column="gender" jdbcType="INTEGER" property="gender"/>
        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    </resultMap>
</mapper>

查询全部用户,Service实现

/**
 * 用户业务接口实现
 *
 * @author Aaron
 * @date 2019/12/24 5:20 下午
 */
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper mapper;

    @Override
    public List<TbUser> findAll() {
        return mapper.selectAll();
    }

版权声明:本文为qq_40688739原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。