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 即可
@EnableLitJdbc
@Configuration @EnableLitJdbc public class SpringConfig { // 其他配置 }
配置完成后, 就可以在 service 或其他需要的地方注入 JdbcTools 对实体进行操作
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(); }