lit-jdbc - 简单易用的轻量级 ORM 框架


Apache
跨平台
Java

软件简介

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();
    }