内容简介:这次是在2.10.x迭代45个版本后,更新到2.11.0,主要是调整BeetlSQL内部代码,以提供更强的定制性2.11.0 增强了属性自定义注解,使用者在Bean和数据库之间 通过BeetlSQL提供的序列化和反序列化,可以通过注解自定义以满足个性化要求@UpdateTime注解可以自定义,如下
这次是在2.10.x迭代45个版本后,更新到2.11.0,主要是调整BeetlSQL内部代码,以提供更强的定制性
2.11.0 增强了属性自定义注解,使用者在Bean和数据库之间 通过BeetlSQL提供的序列化和反序列化,可以通过注解自定义以满足个性化要求
public class User { private Integer id ; @UpdateTime private Date createTime;
@UpdateTime注解可以自定义,如下
@Retention(RetentionPolicy.RUNTIME) @Target(value={ElementType.METHOD,ElementType.FIELD}) @Builder(value = SampleUpdateTimeBuilder.class) public @interface UpdateTime { }
SampleUpdateTimeBuilder类负责执行序列化和反序列化中的操作
本次还修复了一些Bug
Maven
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>2.11.0</version> </dependency>
BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求 工具 能自动能生成大量常用的SQL的应用。
-
无需注解,自动生成大量内置SQL,轻易完成增删改查功能
-
数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型
-
SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试。
-
SQL 模板基于Beetl实现,更容易写和调试,以及扩展
-
简单支持关系映射而不引入复杂的OR Mapping概念和技术。
-
具备Interceptor功能,可以调试,性能诊断SQL,以及扩展其他功能
-
内置支持主从数据库,通过扩展,可以支持更复杂的分库分表逻辑
-
支持跨数据库平台,开发者所需工作减少到最小
内置增删改查
void insert(T entity); int updateById(T entity); int updateTemplateById(T entity); int deleteById(Object key); T unique(Object key); T single(Object key); T lock(Object key); List<T> all(); List<T> template(T entity); <T> T templateOne(T entity); List<T> execute(String sql,Object... args); ....等等大量内置方法且可以扩展内置方法
Query查询
List<User> list = userDao.createQuery().andEq("name","hi").orderBy("create_date").select();
如果是 Java 8,且引入了对jaque库依赖,则可以
List<User> list1 = userDao.createQuery().lamdba().andEq(User::getName, "hi").orderBy(User::getCreateDate).select();
管理SQL
@SqlResource("console.user") public interface UserConsoleDao extends BaseMapper<SysUser> { void batchDelUserByIds(List<Long> ids); void batchUpdateUserState( List<Long> ids, GeneralStateEnum stateEnum); @Sql("update sys_user set password=? where id=?") int changePassword(String newPassword,long id); }
对应的sql文件是console/user.md,内容如下
batchDelUserByIds === update SYS_USER u set u.del_flag = 1 where u.id in( #join(ids)#) batchUpdateUserState === update SYS_USER u set u.state = #state# where u.id in( #join(ids)#)
关系映射
selectUserAndDepartment === select * from user where user_id=#userId# @ orm.single({"departmentId":"id"},"Department"); @ orm.many({"id":"userId"},"user.selectRole","Role"); user.selectRole === select r.* from user_role ur left join role r on ur.role_id=r.id where ur.user_id=#userId#
也支持注解说明映射关系
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 扒网站工具 v2.0 发布,发布模版计算工具等
- 数据生成工具 ZenData 发布 1.6 版本,內置 Web 版数据设计工具
- SteamTools 2.4.1 发布,包含多种 Steam 工具功能的工具箱
- 数据生成工具 ZenData 发布 1.7 版本,全新设计工具带来更佳体验
- Doxygen 3 发布,文档生成工具
- 百度云盘小工具 1.6 发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法:C语言实现
塞奇威克 / 霍红卫 / 机械工业出版社 / 2009-10 / 79.00元
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。全书分为四部分,共16章。包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等......一起来看看 《算法:C语言实现》 这本书的介绍吧!