FastQuery v1.0.8 发布了,FastQuery基于Java语言.他的使命是:简化Java操作数据层.
做为一个开发者, 仅仅只需要设计DAO接口即可,其内部采用ASM动态生成实现,执行快. 因此,代码简洁而优雅.从而,大幅度提升开发效率.
遵循非侵入式原则设计,松耦合,很容易与其它容器或框架集成.
提供了一组简单的Annotation.消费者只用关心注解的含义.这就使得框架的核心便于重构,便于持续良性发展.
截至发布1.0版,发现做了如下改进:
1.0.1 增强拦截器作用范围合法校验.
1.0.2 支持批量update,支持事务
1.0.3 新增自定义类加载器
1.0.4 #{#table} , #{#id} 合法使用检测
1.0.5 Repository异常处理
1.0.6 新增分页功能
1.0.7 增强fastquery.json
1.0.8 控制分页区间的位置,数据源优先级,新增@NotCount
部分例子[code]// 将三条改操作纳入到一个事务中.
@Transactional
@Modifying
@Query("update `userinfo` set `name`=?1 where id=?3")
@Query("update `userinfo` set `age`=?2 where id=?3")
// 把主键id修改为1,目前主键id=1是存在的.这行会报错.那么前两行所做的操作全部失效.
@Query("update `userinfo` set `id`=1 where `id`=?3")
int updateBatch(String name,Integer age,Integer id);
// 注意:
// 1).返回值如果是int类型,表示这个事务成功提交后所有改操作所影响的行数总和.
// 2).返回值如果是int[]类型,表示这个事务成功提交后,每个最小修改单元所影响行数的集合.
// 举例说明: 若有个事务T,它里面有3条改操作,分别叫U1,U2,U3.
// T成功提交后,U1,U2,U3所影响的数据行数分别为N1,N2,N3.
// 则: 返回值为: new int[]{N1,N2,N3}[/code]分页[code]public interface UserInfoDBService extends QueryRepository {
// countField : 明确指定求和字段count(countField),默认值是"id"
@Query(value="select id,name,age from `userinfo` where 1",countField="id")
Page