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

BeetlSQL 2.10.11 发布,Java Dao 工具

BeetlSQL 2.10.11 发布,Java Dao 工具

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