188 Star 764 Fork 169

GVPNutz / nutz

 / 详情

新功能建议@注解实现自定义SQL

待办的
任务
创建于  
2022-06-07 17:29

新功能建议@注解实现自定义SQL
例如

 String sqlstr = " select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, " +
                    " m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, " +
                    " m.order_num, m.create_time " +
                    " from sys_menu m " +
                    " left join sys_role_menu rm on m.menu_id = rm.menu_id " +
                    " left join sys_user_role ur on rm.role_id = ur.role_id " +
                    " left join sys_role ro on ur.role_id = ro.role_id " +
                    " where ur.user_id = @userId";
            if (Strings.isNotBlank(menu.getMenuName())) {
                sqlstr += " AND m.menu_name like concat('%', @menuName, '%')";
            }
            if (Strings.isNotBlank(menu.getVisible())) {
                sqlstr += " AND m.visible = @visible";
            }
            if (Strings.isNotBlank(menu.getStatus())) {
                sqlstr += " AND m.status = @status";
            }
            sqlstr += " order by m.parent_id, m.order_num";
            Sql sql = Sqls.create(sqlstr);
            sql.params().set("userId" , userId);
            sql.params().set("menuName" , menu.getMenuName());
            sql.params().set("visible" , menu.getVisible());
            sql.params().set("status" , menu.getStatus());
            sql.setCallback(Sqls.callback.entities());
            Entity<SysMenu> entity = dao().getEntity(SysMenu.class);
            sql.setEntity(entity);
            dao().execute(sql);

酱紫 自定义SQL 过于冗余 希望能通过反射 用注解实现自定义SQL
https://nutz.cn/yvr/t/238ph8f60ejqvredoav1pcl2dd

评论 (8)

TomYule 创建了任务

好像只能上模板了吧? 写在注释里也描述不了复杂的条件

那可以整一个简单的注释 执行自定义SQL吗

那可以整一个简单的注释 执行自定义SQL吗

@TomYule 来个概念设计?

    @Select("select name from department where code=@code")
    String getNameByCode(@Param("code") String code);

这个印象中有人做过, nutzmore项目里

能直接整合到nutz包里面吗

好像不是吧

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
4674 wendal 1578914274 993890 tomyule 1578937733
Java
1
https://gitee.com/nutz/nutz.git
git@gitee.com:nutz/nutz.git
nutz
nutz
nutz

搜索帮助

14c37bed 8189591 565d56ea 8189591