mybatis-crud-page

mybatis 实现jpa的crud-page和service方法
授权协议 Apache
开发语言 Java
所属分类 数据库相关、 数据库调整和优化
软件类型 开源软件
地区 国产
投 递 者 段干恺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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: 精确匹配删除实体
  • 3.1、namespace namespace中的包名要和Dao/Mapper接口的包名一致 3.2、select 根据id查询用户 id:namespace中的方法名 resultType:sql语句执行的返回值类型 parameterType:参数类型 UserMapper中添加对应方法 public interface UserMapper { //全查询    List<user

  • <?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="org.mybatis.example.dao.DeptMap

  • 第1章 Mybatis实现CRUD操作 1.1 Mybatis实现CRUD操作 1.1.1 功能需求 基于已有数据表user,使用MyBatis实现以下功能: n 根据用户id查询一个用户 n 根据用户名称模糊查询用户列表 n 添加一个用户 n 根据用户id修改用户名 n 根据用户id删除用户 1.1.2 工程准备 参照第一天Mybatis快速入门部分 1.1.3 实现根据用户id查询一个用户 使

  • namespace namespace中的包名要和 Dao/mapper 接口的包名一致! select选择,查询语句; id : 就是对应的namespace中的方法名; resultType:Sql语句执行的返回值! parameterType : 参数类型! 1.编写接口 //根据ID查询用户 User getUserById(int id); 2.编写对应的mapper中的sql语句 <s

  • 1.创建实体类User public class User { private Integer id; private String username; private String sex; private Date brithday; private String address; public Integer getId() {

  • pom.xml配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

  • 引入pom文件 <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> <scop

  • 请结合springboot学习教程项目github地址 https://github.com/heng1234/spring-boot_one来理解   pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o

 相关资料
  • 本文向大家介绍springboot+mybatis-plus实现内置的CRUD使用详解,包括了springboot+mybatis-plus实现内置的CRUD使用详解的使用技巧和注意事项,需要的朋友参考一下 springboot+mybatis-plus实现内置的CRUD使用详情,具体修改删除操作内容后文也有详细说明 mybatis-plus的特性 无侵入:只做增强不做改变,引入它不会对现有工程产

  • 本文向大家介绍基于Mybatis实现CRUD操作过程解析(xml方式),包括了基于Mybatis实现CRUD操作过程解析(xml方式)的使用技巧和注意事项,需要的朋友参考一下 1、环境搭建 1.1 表结构 1.2 创建项目 导入如下jar mybatis框架包 数据库驱动包 log4j日志包 junit单元测试包 1.3 准备配置文件 在src下准备配置文件:sqlMapConfig.xml 在

  • spring-boot2-jpa-crud-example spring boot2 jpa crud REST APIs example Below is the step by step article which explained this Spring boot 2 JPA CRUD Restful apis example : http://www.javaguides.net/201

  • 问题内容: 继上一个问题DAO和Service层(JPA / Hibernate + Spring)之后 ,我决定在使用JPA / Hibernate,Spring和Wicket的应用程序中(至少在开始时)仅对我的数据层使用一个DAO。提出了使用通用CRUD方法的方法,但是我不太确定如何使用JPA来实现。您能否举个例子或分享有关此的链接? 问题答案: 这是一个示例界面: 和一个实现:

  • Website | Documentation | Add-ons | Pricing | Services | Stack Overflow | Reddit | Blog | Newsletter Quickly build an admin interface for your Eloquent models. Then customize every little detail. Amon

  • 基于 Typescript+MidwayJs+Nacos 的微服务开发架构 有点 MidwayJs 的味道,有点 EggJs 的味道,有点自己的味道。未来可能会增加配套的前端后台管理仓库,看有没有时间吧。 ##特性 【体验佳】 智能化的代码提示和编译时的代码检查机制 【易维护】 良好的应用程序分层和解耦能力 【可插拔】 组件化开发,代码复用 ##技术栈 nodejs/eggjs 文档 typesc