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