企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 使用Query 通常业务代码需要根据一定逻辑查询数据库,可以使用Query构造较为复杂的单表条件而避免写SQL ```java Query<UserEntity> query = sqlManager.query(UserEntity.class); List<UserEntity> entities = query.andEq("department_id",1) .andIsNotNull("name").select(); ``` 日志输出如下 ``` ┏━━━━━ Debug [sql.SELECT * FROM PUBLIC.SYS_USER WHERE department...] ━━━ ┣ SQL: SELECT * FROM PUBLIC.SYS_USER WHERE department_id = ? AND name IS NOT NULL ┣ 参数: [1] ┣ 位置: org.beetl.sql.test.S1QuickStart.query(S1QuickStart.java:131) ┣ 时间: 7ms ┣ 结果: [8] ┗━━━━━ Debug [sql.SELECT * FROM PUBLIC.SYS_USER WHERE department...] ━━━ ``` 使用LambdaQuery,能很好的支持数据库重构 ```java LambdaQuery<UserEntity> query = sqlManager.lambdaQuery(UserEntity.class); List<UserEntity> entities = query.andEq(UserEntity::getDepartmentId,1) .andIsNotNull(UserEntity::getName).select(); ``` 这段查询同上段代码是一样的,不同的是使用lambda表达式,这样如果列名重构,则自动会重构这段代码,不需要作手工修改 > BeetlSQL推荐一直使用LambdaQuery,Query是JDK7以前的使用方式