BeetlSQL 2.10.12 发布,Java Dao 工具

闲大赋
 闲大赋
发布于 2018年02月27日
收藏 5

#IHYVK selectSingle 方法日志未打出
#IHXHT 实体类注解@OrmCondition增加懒加载可配置参数
#IHWSU MappingEntity not using classloader passed to MapperBuilder when loading classes

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

BeetlSQL是以SQL为中心的Dao工具,具备如下功能

内置增删改查

* 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 比较

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:BeetlSQL 2.10.12 发布,Java Dao 工具
加载中

精彩评论

osc资深潜水
osc资深潜水

引用来自“公孙二狗”的评论

Hibernate 的学习曲线竟然比 MyBatis 低,Hibernate 的快速开发比 MyBatis 慢,是不是值得商榷?
人家随便画的图而已,不要当真
wendal
wendal
#NutzBoot# 前来围观
首席程序猿_默
首席程序猿_默

引用来自“公孙二狗”的评论

Hibernate 的学习曲线竟然比 MyBatis 低,Hibernate 的快速开发比 MyBatis 慢,是不是值得商榷?

引用来自“osc资深潜水”的评论

人家随便画的图而已,不要当真
应该是分数越高越好。。。。。

最新评论(10

antbuster
antbuster

引用来自“公孙二狗”的评论

Hibernate 的学习曲线竟然比 MyBatis 低,Hibernate 的快速开发比 MyBatis 慢,是不是值得商榷?
hibernate易上手难精通,实际开发中hql的坑太多了,业务一复杂,还是SQL方便快速
Komtech
Komtech
一下子干懵了:worried:
ejzhang
ejzhang
http://central.maven.org/maven2/com/ibeetl/beetlsql/2.10.12/
每周精粹
每周精粹
两个错误提示 数据竟然不一致
首席程序猿_默
首席程序猿_默

引用来自“公孙二狗”的评论

Hibernate 的学习曲线竟然比 MyBatis 低,Hibernate 的快速开发比 MyBatis 慢,是不是值得商榷?

引用来自“osc资深潜水”的评论

人家随便画的图而已,不要当真
应该是分数越高越好。。。。。
chenjazz
chenjazz
Fastsql前来围观
osc资深潜水
osc资深潜水

引用来自“公孙二狗”的评论

Hibernate 的学习曲线竟然比 MyBatis 低,Hibernate 的快速开发比 MyBatis 慢,是不是值得商榷?
人家随便画的图而已,不要当真
公孙二狗
公孙二狗
Hibernate 的学习曲线竟然比 MyBatis 低,Hibernate 的快速开发比 MyBatis 慢,是不是值得商榷?
J
Jack8211
支持
wendal
wendal
#NutzBoot# 前来围观
返回顶部
顶部