皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

BeetlSQL 2.10.11 发布,Java Dao 工具

BeetlSQL

BeetlSQL 2.10.11 发布了,本次发布增加了 Query 和 LambdaQuery,增强了单表操作

#IGNWC 单表查询增强
#IGJ25 SQLManager.select 方法在有 rowMapper 的情况下,clazz 参数不能指定 Map.clas
#IGINU 
SimpleCacheInterceptor 缓存无效的错误修复
#GFAD 主键子段已经被赋值情况下,不应该用自动生成的主键值替换
#IGFAA 
insert 时,@AssignID 生成的 ID 不能在 autoAssignKey=true 模式下被带回
#IGD92 自动生成 sql 语句不能修改占位符
#IGCFJ JPA2NameConverison 不支持 TailBean

单表使用增强例子:

SQLManager sql = ...
List<User> list = sql.query(User.class).andEq("name","hi").orderBy("create_date").select();

如果使用 Java8,可以是使用 LambdaQuery

List<User> list1  = sql.query(User.class).lamdba().andEq(User::getName, "hi").orderBy(User::getCreateDate).select();

Query 接口分为俩类:

一部分是触发查询和更新操作,api 分别是

  • select 触发查询,返回指定的对象列表
  • single 触发查询,返回一个对象,如果没有,返回 null
  • count 对查询结果集求总数
  • delete 删除符合条件的结果集
  • update 更新选中的结果集

另外一部分是各种条件:

方法 等价 sql
andEq,andNotEq ==,!=
andGreat,andGreatEq >,>=
andLess,andLessEq <,<=
andLike,andNotLike LIKE,NOT LIKE
andIsNull,andIsNotNull IS NULL,IS NOT NULL
andIn ,andNotIn IN (…) , NOT IN(…)
andBetween,andNotBetween BETWEEN ,NOT BETWEEN
and and ( …..)
or 系列方法 同 and 方法
limit 限制结果结范围,依赖于不同数据库翻页
orderBY ORDER BY
groupBy GROUP BY
<dependency>
    <groupId>com.ibeetl</groupId>
    <artifactId>beetlsql</artifactId>
    <version>2.10.1</version>
</dependency>

BeetlSql 是全新的 Java 数据库访问 工具,具有如下特性:

开发效率:
1 无需注解,自动使用大量内置 SQL,轻易完成增删改查功能,节省 50%的开发工作量
2 数据模型支持 Pojo,也支持 Map/List 这种快速模型,也支持混合模型
3 SQL 模板基于 Beetl 实现,更容易写和调试,以及扩展
4 代码生成 pojo 类和 sql 模版,可以针对单个表 (或者视图),甚至是整个数据库。能减少代码编写工作量

维护性:
5 SQL 以更简洁的方式,Markdown 方式集中管理,同时方便程序开发和数据库 SQL 调试。
可以自动将 sql 文件映射为 dao 接口类
6 直观灵活的支持一对一,一对多,多对多关系映射而不引入复杂的 OR Mapping 概念和技术。
7 具备 Interceptor 功能,可以调试,性能诊断 SQL,以及扩展其他功能。
8 支持各种数据库,真正的跨数据库平台

转自 http://www.oschina.net/news/91285/beetlsql-2-10-11

分享到:更多 ()