内容简介:果然小数位是0的版本发布都会有问题,2.11.1 修复了上一个版本新增自定义注解功能的bug,建议更新到新的版本 <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <versi...
果然小数位是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 发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP经典实例(第3版)
David Sklar、Adam Trachtenberg / 苏金国、丁小峰 / 中国电力出版社 / 2015-7 / 128.00
想要掌握PHP编程技术?或者想要学习如何完成一个特定的任务?那么一定要先看看《PHP经典实例(第3版)》。本书介绍了专门为PHP 5.4和5.5修订的350个经典技巧,并提供了丰富的示例代码。特别是对生成动态Web内容的解决方案做了全面更新,从使用基本数据类型到查询数据库,从调用RESTful API到测试和保护网站安全都有涵盖。 各个技巧都提供了示例代码,可以免费使用,另外还讨论了如何解决......一起来看看 《PHP经典实例(第3版)》 这本书的介绍吧!