超好用的MyBatis 通用Mapper

项目简介

https://gitee.com/yangkeller/mapper

项目特点

  • 体积小,能量大
    • jar 包 58Kb
    • 引入后即可实现 增删改查操作,包含条件查询、分页查询、数据统计、添加、删除、修改等功能
  • 简单易用
    • 不需要书写Mapper代码
    • 不需要复杂配置
    • 引入 jar包,实体类添加注解,即可使用
  • 快速高效
    • 内部设置了缓存,同一张数据表只解析一次,代码执行效率高
    • 简化你的代码,让你的搬砖效率大幅提高
  • 开放源代码
    • 可以在此基础上自由发挥

目录结构

  • mybatis

    • annotation
      • FieldAttribute.java:数据库字段注解
      • TableAttribute.java:数据表注解
    • provider
      • BaseDeleteProvider.java:Delete语句生成器
      • BaseInsertProvider.java:Insert语句生成器
      • BaseSelectProvider.java:Select语句生成器
      • BaseUpdateProvider.java:Update语句生成器
    • BaseMapper.java:BaseMapper接口,所有Mapper 继承此接口即可拥有基础增删改查能力
    • BasePage.java:分页查询结果封装类,封装了页码、数据总数、页面总数、数据列表等
    • BaseQuery.java:基础查询类
    • SqlFieldReader.java:SQL 字段解析类
    • TypeCaster.java:类型转换器

功能展示

举例
user_info 表
		CREATE TABLE `user_info` (
  		`id` int(8) NOT NULL  COMMENT 'id',
  		`name` varchar(20)   NOT NULL COMMENT '昵称',
  		PRIMARY KEY (`id`)
		)
UserInfo 类
		private Integer id;
		private String name;
Entity 处理
@TableAttribute(name = "user_info")
public class UserInfo{
    /**
    * id
    */
    @FieldAttribute
    private Integer id;
    /**
    * 昵称
    */
    @FieldAttribute
    private String name;
  }
Mapper 处理
public interface UserInfoMapper extends BaseMapper<UserInfo>{
}
添加数据
		UserInfo user = new UserInfo();
        user.setId(1);
        user.setName("张三");

        Integer result = userInfoMapper.baseInsert(user);
批量添加
		List<UserInfo> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            UserInfo user = new UserInfo();
            user.setId(10 + i);
            user.setName("李四" + i);

            list.add(user);
        }
        Integer result = userInfoMapper.baseInsertList(list);
保存数据
		UserInfo user = new UserInfo();
        user.setId(1);
        user.setName("张三save");

        Integer result = userInfoMapper.baseSave(user);
删除数据
		UserInfo user = new UserInfo();
        user.setId(1);

        Integer result = userInfoMapper.baseDeleteById(user);
更新数据
		UserInfo user = new UserInfo();
        user.setId(1);
        user.setName("Name");
        Integer result = userInfoMapper.baseUpdateById(user);
部分更新
		UserInfo user = new UserInfo();
        user.setId(1);
        Integer result = userInfoMapper.baseUpdateById(user);
根据ID查询
		UserInfo user = new UserInfo();
        user.setId(1);

        UserInfo result = userInfoMapper.baseSelectById(user);
查询列表
		UserInfo user = new UserInfo();
        BaseQuery<UserInfo> query = new BaseQuery<>(user);
        List<UserInfo> result = userInfoMapper.baseSelectList(query);
分页查询列表
		UserInfo user = new UserInfo();
        user.setName("张三");
        BaseQuery<UserInfo> query = new BaseQuery<>(user);
        List<UserInfo> result = userInfoMapper.baseSelectPageList(query);
分页查询
 		UserInfo user = new UserInfo();
        user.setName("张三");
        BaseQuery<UserInfo> query = new BaseQuery<>(user);
        BasePage<UserInfo> result = userInfoMapper.baseSelectPage(query);
统计总数
 		UserInfo user = new UserInfo();
        user.setName("张三");
        BaseQuery<UserInfo> query = new BaseQuery<>(user);
        Integer result = userInfoMapper.baseSelectCount(query);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值