mybatis 实现jpa的crud-page和service方法 mybatis-crud-page

Apache
Java
跨平台
2017-04-26
赵伟伟

mybatis 的crud,快速的增删查改

spring或者springboot中使用mybtais,像jpa一样可以使用注解进行实体和数据库表的映射,

目前只实现了单表,主键使用UUID生成

使用简单,可以减少大量的 mapper的dao层和service层的代码,使用基类统一的代码

已经在本人的不少工程验证过,快速实现crud

一:组件jar包说明:

1.封装了数据实体对应的数据库列的一一映射关系
2.提供了基本的增删改的sql生成
3.提供了模糊匹配查询的sql生成
4.提供了精确匹配查询的sql生成
5.提供了基本的Mapper接口,里面有增删查改的基本方法
6.提供了基本的抽象service,里面有增删查改的基本方法
7:提供了分页的基本方法,使用com.github.pagehelper的pagehelper的 5.0.0的版本

二:组件jar包的的导入

1.gradle 添加依赖 
      classpath "com.wolfking:mybatis-crud:1.0.0-SNAPSHOT"
2.maven添加依赖
        com.wolfking
        mybatis-crud
       1.0.0-SNAPSHOT

三:jar包类的说明

1.MyTable
    写在实体类上面,如下
    @MyTable("sys_dict")
    public class Dict extends DataEntity {}
    sys_dict 是数据库对应的表名
2.MyId
    写在主键属性上,如下,如果属性名和数据库的列名相同(严格区分大小写),则不需要写括号里面的内容,
    主键的生成,第一版全部使用 UUID
    @MyId("id")
    protected String id;
3.MyColumn
    写在主键属性上,如下,如果属性名和数据库的列名相同(严格区分大小写),则不需要写括号里面的内容
    @MyColumn("remarks")
    protected String remarks; // 备注
4.BaseMapper  基本的mapper接口
5.BaseSqlProvider  基本的sql 提供者
6.BaseService, T> 提供了基本的service,实体操作的service可以基于这个来写

四:mybatis的分页插件


五:jar包的使用方法

1.pom.xml 和 build.gradle 添加依赖
2.实体类的编写
    @MyTable("sys_dict")
    public class Dict{
           @MyId("id")
           private String id;
           @MyColumn
           private String description; // 描述
           @MyColumn("parent_id")
           private String parentId; // 父Id
    }

2.mybatis的mapper的编写,继承BaseMapper,T是实体类

    import  com.wolfking.mybatis.mapper.*;
    @Mapper   //这个是mybatis扫描的注解,根据mybatis-spring-boot-starter 版本来确定是否需要添加
    public interface DictMapper extends BaseMapper {
    }

3.在service层mybatis接口的使用,继承了抽象类的所有方法
    @Service
    public class DictService extends BaseService {
        //其他业务代码
    }

六:根据ID查询,根据ID删除需要注意

参数直接输入ID,不需要创建实体类
service.getById("123");
service.deleteById("123");

七:service方法讲解

add:  添加实体
update:更新实体
deleteById:根据ID删除
deleteEntity:根据ID删除
getById: 根据ID查询
getEntity:根据ID查询
findAll:查询所有
seleteVague:模糊匹配查询
seleteAccuracy:精确匹配查询
countAll:统计总数
countVague:模糊匹配,查询总数
countAccuracy:精确匹配,查询总数
pageVague:模糊匹配分页查询
pageAccuracy:精确匹配分页查询
deleteAll: 删除所有实体
deleteVague: 模糊匹配删除实体
deleteAccuracy: 精确匹配删除实体
加载中

评论(1)

MartinBockZhu
MartinBockZhu
mark

暂无资讯

暂无问答

fast-spring-boot快速开发项目

Introduction fast-spring-boot 集成Spring Boot 2.1,Mybatis,Mybatis Plus,Druid,FastJson,Redis,Rabbit MQ,Kafka等,可使用代码生成器快速开发项目,使用maven assembly打包发布 项目主页 ...

12/09 23:00
8
0
SpringBoot学习之路:04.Spring Boot集成Mybatis操作数据库

前面说了Spring Boot的使用Jpa操作数据库,今天要说是Spring Boot集目前比较受欢迎的持久层框架Mybatis,我个人对mybatis是比较喜欢的,接下来我们在SpringBoot中集成它,我们依旧使用mysql...

2017/03/16 21:14
119
2
SpringBoot整合Mybatis实现简单的CRUD

继上篇文章:Spring-Boot入门之环境搭建。这次我们整合SpringBoot-Mybatis实现简单的CRUD业务。 需求: 详解SpringBoot工程的构建、与SSM项目在工程搭建上的不同。 实现SpringBoot-Mybatis整...

09/30 07:42
10
0
mybatis-plus 3.0-alpha 发布,代号:超级棒棒糖

mybatis-plus 3.0-alpha 发布,代号:超级棒棒糖 Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段,无入侵全...

07/01 23:01
271
0
SpringBoot入门之工程搭建(IDEA版)

Spring-Boot Spring的春天 在之前我们一直使用Spring、SpringMVC进行开发,的确,Spring让我们认识到了项目开发原来可以这么方便。但是大量的配置文件却是令人头痛的,即使我们想写一个简单的...

09/30 07:53
62
0
Spring Boot 网易云课堂视频

网易云课堂视频 地址:《从零开始学Spring Boot》: http://study.163.com/course/introduction.htm?courseId=1004329008 提供:答疑、笔记、讨论、源代码下载、PPT下载、学习课时记录 课程更...

2017/11/10 14:45
20
0
Spring Boot 整合MyBatis

Spring Boot官方提供了Spring Data的支持,但是却没有提供MyBatis的支持。 因为,Spring Data是Spring旗下的子产品,而MyBatis却不是。 本文通过一个小例子来实现Spring Boot 与MyBatis的整合...

2017/04/17 16:06
230
0
SpringBoot学习之路:03.Spring Boot使用Jpa操作数据库

前面说了Spring Boot的编写的的第一个应用Hello World,是通过restful接口向客户端返回了含有Hello World的Json串,接下来要说的是使用Spring Boot+Jpa操作数据库。我们使用Jpa操作mysql数据...

2017/03/12 13:03
167
1
Spring boot集成mybatis笔记

首先在pom文件中添加mybatis-spring-boot-starter依赖,如下(依赖坐标及版本号参考官方文档): <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-...

09/23 22:05
6
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部