发布于 2018-01-24 23:54:26 | 177 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

beetlsql mybatis 功能 beetl 实现

BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。


本次发布增强了Query功能

  • #IHJI8 query 方法支持asc和desc方法

  • #IHI79  ORM功能可以直接映射到setter方法上

  • #IHD7X sqlserver使用query.single()查询生成sql错误

  • #IHCGZ query.updateSelective,lambda等方法错误检测

<dependency>      <groupId>com.ibeetl</groupId>      <artifactId>beetlsql</artifactId>      <version>2.10.5</version>  </dependency>

BeetlSQL介绍

* 派别:SQL为中心
  * 强化SQL管理,通过md文件管理sql,使用Beetl模板编写复杂sql
  * 简单SQL可以通过Query类链式API完成
   * 内置常见增删改查功能,节省项目50%工作量
* 全面支持跨数据库平台
* 支持一对一,一对多等常见的ORM映射
* 其他
   * 具备代码生成功能
   * 主从支持
   * 支持Interceptor,如Debug,Cache等

内置增删改查

* 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();

如果是Java8,且引入了对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#

也支持注解说明映射关系

与 hiberante,myabtis 比较



历史版本 :
BeetlSQL 2.10.5 发布,Java Dao 工具
BeetlSQL 2.10.2 发布,Java Dao 工具
BeetlSQL 2.10.11 发布,Java Dao 工具
BeetlSQL 2.9.11 发布,Java Dao 工具
BeetlSQL 2.9.10 发布,Java Dao 工具
BeetlSQL 2.9.6 发布,Java Dao 工具
BeetlSQL 2.9.4 发布,Java Dao 工具
BeetlSQL 2.9.2 发布,Java Dao 工具
Beetlsql 2.8.16 发布,Java Dao 工具
Beetlsql 2.8.15 发布,Java Dao 工具
BeetlSQL 2.8.14 发布,Java Dao 工具
BeetlSql 2.8.12 发布, Java Dao 工具
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务