kot-mybatis ,一款 mybatis 增加工具,简单易用,可以快速的帮助开发者提高效率,包含如下功能点:
1、条件构造器,lambda 表达式
@Test
public void findOne() {
final User user = User.builder().userName("A7").realName("林").userStatus(1).build();
final User result = userService.newQuery()
.fields(user::getId, user::getUserName, user::getPassword, user::getUnionId)
.eq(user::getId, 43175L)
.eq("UNION_ID", "c4f07e742cae46428e76421e33f24d10")
.orderBy("id desc")
.activeLike()
.findOne(user);
println(result);
}
2、乐观锁
3、关联查询
4、多种主键策略生成器
5、多数据源样例
6、代码生成器,无需手动写
一、前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。这时,通用Mapper便应运而生…… 二、什么是通用Mapper 通用Mapper就是为了解决单表增删改查
主要解决springboot项目引入通用mapper(tk.mybatis.mapper)的时候一些可能会踩的坑:诸如tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>() java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariable
tk.mybatis的一些坑 记录一下本次在新公司,新项目搭建使用tk.mybatis的一些坑吧。 1. selectByPrimaryKey查询总是无结果 原因如下: 实体中的主键字段没有使用包装类型(Integer)而是使用的基本类型(int) 实体中@Id不在字段上,而是在方法上。由于我之前一直用JPA都可以所以采坑了 2. config-location 和 mapper-location
需求:where查询,需要支持(a or b or c) and d 也就是a、b、c三个条件是或的关系,然后再与d相与。 尝试后,可以通过以下方式处理: 方式1:Weekend语法 Weekend<User> weekend = new Weekend<>(User.class); //关键字查询部分 String keyword = pageReq.g
spring boot 配置文件 #数据库配置spring.datasource.url=jdbc:mysql://ip地址:3306/dcpp?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull spring.datasource.username=root spring.datasource.pa
编写实体类时注意的事项 @Table(name = "tb_spec_param") @Data public class SpecParam { @Id @KeySql(useGeneratedKeys = true) private Long id; private Long cid; private Long groupId; private
目的 tk.mybatis 提供的通用mapper,虽然使用方便,不过在有些sql还是不能满足我们的需要的,而且我们希望对于deleted语句进行管控(因为通用mapper提供的都是物理删除,有时我们对一些敏感数据只能进行逻辑删除),因此我们将基于原有的通用mapper进行自己的扩展 1 jar引入 <!-- 非springboot --> <dependency>
1.方式一 Example example = new Example(Cart.class); example.createCriteria() .andEqualTo("userId",userId) .andEqualTo("selectd",1); return cartMapper.selectByExample(example);注意:(addEqual
1. 数据查询 Example example = new Example(CcompareccicModel.class); Criteria criteria = example.createCriteria(); @Override public PageList<RiskasesmtComment> findAuditResult(Integer pageIndex,
TKmybatis Tkmybatis是基于Mybatis框架开发的一个工具,通过调用它提供的方法实现对单表的数据操作,不需要写任何sql语句 Springboot 整合 TKmybatis 引入TkMybatis的Maven依赖 实体类的相关配置,@Id,@Table Mapper继承tkMabatis的Mapper接口 启动类Application或自定义Mybatis配置类上使用 @Mapp
TkMybatis 什么是TKMybatis, TKMybatis是基于 Mybatis 框架开发的一个工具,内部实现了对单表的基本数据操作,只需要简单继承 TKMybatis 提供的接口,就能够实现无需编写任何 sql 即能完成单表操作 基本步骤 引入TkMybatis的Maven依赖 <dependency> <groupId>tk.mybatis</groupId> <a
条件查询&排序 方式一:普通Example方式(从and方法开始可以实现动态sql拼接) Example example = new Example(MybatisDemo.class); example //.selectProperties("id","name") .and().andEqualTo("isDeleted",0) .and
tk.mybatis mybatis-plus:service接口 mybatis-plus:mapper接口 查询 T selectByPrimaryKey T getById T selectById int selectCount int count Integer selectCount List<T> selectByExample List<T> list() List<T>
前面简单的介绍了tk.mybatis自带sql语句,发现Example也是一个很有趣的东西,就常用的方法来记录一下 public List<UserPo> selectTest(UserPo userPo) { Example example = new Example(UserPo.class);//实例化对象 example.orderBy("name
1、引入通用mapper的包 <!--通用Mapper--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.0.4</version> </dependency> 2、自定义的mapper类继承Mapper类即可 如下: public interf
1.在使用代理模式模拟Mapper写了一个核心库coreService,coreControlle.写好后测试发现一直报tk.mybatis.mapper.provider.base.BaseSelectProvider:xxxx 2.开始以为是核心库写错了,将核心库去掉,controller,service,dao依次调用,结果还是报错 3.最后,在网上搜到MapperScan导包的错误.大意了
扩展工具为外业精灵提供的额外使用工具,这些工具可以提供一些更加便捷的功能,在后续的版本中会更新更多的工具提供使用。 实验室 点击主界面中左上方菜单图标可打开用户信息侧边栏,点击侧边栏中的设置图标可跳转至设置页面: 设置页面内,点击实验室选项可跳转至实验室页面。 实验室页面主要包含:路径规划模式、绘制点位吸附、标注名显示、地图缩放、电子罗盘、
PHP-X是一个基于PHP ZendVM的C++封装层,可以基于PHP-X开发PHP扩展、C++嵌入PHP、PHP SAPI等程序。PHP-X可以大大降低PHP内核扩展开发的难度,提升效率。 开源中国码云:http://git.oschina.net/swoole/PHP-X Github仓库:https://github.com/swoole/PHP-X QQ群:376696453 环境依赖 P
apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。 因此,要使用这个扩展机制,你的平台必须支持DSO特性,而且Apache httpd必须内建了mod_so模块。apxs工具能自动探测是否具备这样的条件,你也可以自己用这个命令手动探测:
有时候你需要实现自己的集合扩展。也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集。Guava提供了若干工具方法,以便让类似的工作变得更简单。 Forwarding Decorators 针对所有类型的集合接口,Guava都提供了Forwarding抽象类以简化装饰者模式的使用。 Forwarding抽象类定义了一个抽象方法:del
Electron supports Chrome DevTools extensions, which can be used to extend the ability of Chrome's developer tools for debugging popular web frameworks. 使用工具加载 DevTools 扩展 加载 DevTools 扩展的最简单方法是使用第三方工具,
工具集和扩展为 Entity Framework Core 提供了额外的功能。 扩展是由各种资源构成的。并非所有的扩展都被作为 Entity Framework Core 项目的一部分来维护。当考虑第三方扩展的时候,一定要评估其质量、许可、支持情况等等以确保它们符合你的需求。