1 Star 6 Fork 2

felord / mybatis-mapper-extension

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.38 KB
一键复制 编辑 原始数据 按行查看 历史
felord 提交于 2020-08-07 17:29 . README.md

Mybatis 增强包

增加了通用Mapper,提供了四种单表操作方法

  • int insert(T entity) 需要自行处理主键
  • int updateById(T entity) 根据主键ID更新记录
  • int deleteById(PK id) 根据主键ID删除记录
  • T findById(PK id) 根据主键ID查询记录

依赖

本增强包仅仅对mybatis-spring-boot-starter作了增强。

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis.boot.version}</version>
        </dependency>

然后把本项目集成到你的项目中去。可通过Mavenmvn install 安装到本地后引用:

        <dependency>
            <groupId>cn.felord.mybatis</groupId>
            <artifactId>mybatis-mapper-extension</artifactId>
            <version>1.0.0.RELEASE</version>
        </dependency>

❤️ mybatis-mapper-extension并没有加入Maven中央仓库,需要自行编译

配置

  • 需要使用注解@MapperScan配置factoryBeancn.felord.mybatis.MybatisMapperFactoryBean.class
  • 需要配置mybatis.configuration.map-underscore-to-camel-case = true以启用下划线到驼峰命名风格的映射。

其它配置参考Mybatis自己的配置。

使用方法

配置完毕后下面是具体使用步骤。

实体类

实体类需要添加主键注解 @PrimaryKey

/**
 * @author felord.cn
 * @since 15:43
 **/
@Data
public class UserInfo implements Serializable {

    private static final long serialVersionUID = -8938650956516110149L;
    @PrimaryKey
    private Long userId;
    private String name;
    private Integer age;
}

编写Mapper

Mapper只需要继承通用Mapper接口CrudMapper<T, PK>即可,其中T为实体类类型,PK为主键类型

public interface UserInfoMapper extends CrudMapper<UserInfo,String> {

}

如果不继承将使用传统的模式,这两者可以并存。

优先级问题

优先使用XML中的配置。 也就是说如果对应的UserInfoMapper.xml如果存在下面的配置将优先使用下面的配置。

    <select id="findById" resultType="UserInfo">
        select user_id,name,age 
        from user_info
        where user_id = #{userId}
    </select>

问题反馈

通过微信:MSW_623 联系我或者提交issue

1
https://gitee.com/felord/mybatis-mapper-extension.git
git@gitee.com:felord/mybatis-mapper-extension.git
felord
mybatis-mapper-extension
mybatis-mapper-extension
master

搜索帮助