内容简介:果然小数位是0的版本发布都会有问题,2.11.1 修复了上一个版本新增自定义注解功能的bug,建议更新到新的版本自定义注解可以辅助BeetlSQL序列化或者反序列化特殊属性,如下@Jackson 使用了SampleJsonAtrributeBuilder实现,定义如下
果然小数位是0的版本发布都会有问题,2.11.1 修复了上一个版本新增自定义注解功能的bug,建议更新到新的版本
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>2.11.1</version> </dependency>
自定义注解可以辅助BeetlSQL序列化或者反序列化特殊属性,如下
@Jackson private Role role;
@Jackson 使用了SampleJsonAtrributeBuilder实现,定义如下
public class SampleJsonAtrributeBuilder extends BaseAttributeBuilder {
public static ObjectMapper mapper = new ObjectMapper();
public static Jackson json = new Jackson();
@Override
public Object toObject(SQLManager sqlManager,Annotation an, String sqlId,TypeParameter typeParameter, PropertyDescriptor property) throws SQLException{
return ......
}
@Override
public String toSql(AbstractDBStyle dbStyle, String fieldName, String colName, Annotation an, TableDesc tableDesc){
return "jackson("+fieldName+")";
}
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
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)#)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 扒网站工具 v2.0 发布,发布模版计算工具等
- 数据生成工具 ZenData 发布 1.6 版本,內置 Web 版数据设计工具
- SteamTools 2.4.1 发布,包含多种 Steam 工具功能的工具箱
- 数据生成工具 ZenData 发布 1.7 版本,全新设计工具带来更佳体验
- Doxygen 3 发布,文档生成工具
- 百度云盘小工具 1.6 发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rework
Jason Fried、David Heinemeier Hansson / Crown Business / 2010-3-9 / USD 22.00
"Jason Fried and David Hansson follow their own advice in REWORK, laying bare the surprising philosophies at the core of 37signals' success and inspiring us to put them into practice. There's no jarg......一起来看看 《Rework》 这本书的介绍吧!