lit-jdbc 是一款简单易用的轻量级 ORM 框架。
<dependency> <groupId>com.github.liulus</groupId> <artifactId>lit-jdbc</artifactId> <version>2.0</version> </dependency>
使用 API 的方式构建 SQL , 简单安全, 具体的 SQL 执行器是 spring jdbc
lit-jdbc 可以很简单的和 spring 集成, 只需在配置类上加一个注解 @EnableLitJdbc
即可
@Configuration @EnableLitJdbc public class SpringConfig { // 其他配置 }
配置完成后, 就可以在 service 或其他需要的地方注入 JdbcTools
对实体进行操作
基本的增删改 可以查看详细的文档, 这里简单介绍下查询的写法:
简单的查询条件 where 方法是实体的属性, 后面的是条件, sql 的条件都有对应的方法
然后直接调用 list() 获取查询列表,
还可以使用的方法有 count() 获取计数, single() 获取单条结果
@Test public void testSelect6() { // 指定条件 code < ? and price > ? and code in (?, ?, ?), ? 参数即为条件逻辑方法中的值 List<Goods> goods = jdbcTools.select(Goods.class) .where("code").lessThan(1123L) .and("price").graterThan(548D) .and("code").in(1027L, 1078L, 1094L) .list(); }
还可以指定分页参数获取分页列表
@Test public void testSelect7() { // 指定条件 code < ? and ( price < ? or category = ? ) ? 参数即为条件逻辑方法中的值 List<Goods> goodsList = jdbcTools.select(Goods.class) .where("code").lessThan(1123L) .and() .bracket("price").lessThan(28.8D) .or("category").equalsTo("100232") .end() .page(1, 10) .list(); // 分页信息 PageInfo pageInfo = ((PageList) goodsList).getPageInfo(); }
多表关联查询
@Test public void testSelect5() { Goods single = jdbcTools.select(Goods.class) .join(Supplier.class) .additionalField(Supplier.class, "code", "name") .alias("supplierCode", "supplierName") .on(Goods.class, "supplierCode").equalsTo(Supplier.class, "code") .where("goodsId").equalsTo(1203L) .single(); }
jdbc真是个大坑,如果不是必要进行分库分表的话,就不要使用 sharding-jdbc,因为会有诸多的限制和不方便 版本:2.0.0.M3 注意:本篇主要针对spring-mybatis不分库只分表 目前Sharding-JDBC还在不断更新中,网上很多资料和答疑都是以前出现但是已修复了的,包括本篇,因此学习资料和问题解答最好是围绕着官方走。推荐加入官方群(在官网里找,提问的人多,答复的人少),
参考链接 https://blog.csdn.net/u010391342/article/details/89526366 本文使用sharding-jdbc 4.1.1。 1. sql语句 CREATE database test_order SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structur
1:新建一个springboot工程 2:创建两个数据库order1,order2,分别创建t_address表如下: DROP TABLE IF EXISTS `t_address`; CREATE TABLE `t_address` ( `id` bigint(20) NOT NULL, `code` varchar(64) DEFAULT NULL COMMENT '编码', `
本文向大家介绍Python轻量级ORM框架Peewee访问sqlite数据库的方法详解,包括了Python轻量级ORM框架Peewee访问sqlite数据库的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python轻量级ORM框架Peewee访问sqlite数据库的方法。分享给大家供大家参考,具体如下: ORM框架就是 object relation model,对象关系模型,
本文向大家介绍轻量级javascript 框架Backbone使用指南,包括了轻量级javascript 框架Backbone使用指南的使用技巧和注意事项,需要的朋友参考一下 Backbone 是一款基于模型-视图-控制器 MVC 模式的轻量级javascript 框架 ,可以用来帮助开发人员创建单页Web应用。 借助Backbone 我们可以使用REST的方式来最小化客户端和服务器间的数据传输,
问题内容: 是否有一个提供发布/订阅模式的Java轻量级框架? 一些理想的功能 支持泛型 向发布者注册多个订阅者 API主要是接口和一些有用的实现 完全不需要内存,持久性和事务保证。 我了解JMS,但这对我来说太过分了。发布/订阅的数据是文件系统扫描的结果,扫描结果被馈送到另一个组件进行处理,然后在将其馈给另一个组件之前进行处理,依此类推。 编辑:所有在同一过程中。bean的PropertyCha
本文向大家介绍前端轻量级MVC框架CanJS详解,包括了前端轻量级MVC框架CanJS详解的使用技巧和注意事项,需要的朋友参考一下 选择正确的库 创建一个JS APP没有好的工具是很有难度的,jQuery只是操作DOM的库,没有提供任何创建APP的基础,这就是为什么我们要一个类似CanJS的专门的库。 CanJS 是一个轻量级的MVC库,提供你创建一个JS APP所需的工具。 CanJS 是一个轻
本文向大家介绍简单介绍Python的轻便web框架Bottle,包括了简单介绍Python的轻便web框架Bottle的使用技巧和注意事项,需要的朋友参考一下 基本映射 映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射. 运行这个程序,访问http://localhost:8080/hello将会在浏览器里看到 "Hello World!".
问题内容: 我用谷歌搜索了短语“ j2ee的轻量级ORM”并找到了此页面http://java-source.net/open- source/persistence 从结果之一。我的目标是找到一个比Hibernate轻巧的ORM框架,并提供一些对我来说最重要的hibernate功能,例如:自动表生成和延迟初始化,并且不要给我麻烦的时间使用表和地图以及采集。同样重要的是,即将到来的ORM具有围绕它