lit-jdbc簡單易用的輕量級 ORM 框架
lit-jdbc 是一款簡單易用的輕量級 ORM 框架。
<dependency> <groupId>com.github.liulus</groupId> <artifactId>lit-jdbc</artifactId> <version>2.0</version> </dependency>
使用 API 的方式構(gòu)建 SQL , 簡單安全, 具體的 SQL 執(zhí)行器是 spring jdbc
lit-jdbc 可以很簡單的和 spring 集成, 只需在配置類上加一個注解 @EnableLitJdbc 即可
@Configuration
@EnableLitJdbc
public class SpringConfig {
// 其他配置
}
配置完成后, 就可以在 service 或其他需要的地方注入 JdbcTools 對實體進行操作
基本的增刪改 可以查看詳細的文檔, 這里簡單介紹下查詢的寫法:
簡單的查詢條件 where 方法是實體的屬性, 后面的是條件, sql 的條件都有對應(yīng)的方法
然后直接調(diào)用 list() 獲取查詢列表,
還可以使用的方法有 count() 獲取計數(shù), single() 獲取單條結(jié)果
@Test
public void testSelect6() {
// 指定條件 code < ? and price > ? and code in (?, ?, ?), ? 參數(shù)即為條件邏輯方法中的值
List<Goods> goods = jdbcTools.select(Goods.class)
.where("code").lessThan(1123L)
.and("price").graterThan(548D)
.and("code").in(1027L, 1078L, 1094L)
.list();
}
還可以指定分頁參數(shù)獲取分頁列表
@Test
public void testSelect7() {
// 指定條件 code < ? and ( price < ? or category = ? ) ? 參數(shù)即為條件邏輯方法中的值
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();
}
多表關(guān)聯(lián)查詢
@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();
}評論
圖片
表情
