搞开发,写 SQL 就够了

用户头像
棒锤🐮
关注
发布于: 2020 年 10 月 14 日
搞开发,写SQL就够了

Rocket-API

WEB开发框架。传统业务需求,大部分逻辑简单,我们常说的CRUD,搬砖等,基本能够直接通过写SQL来完成定制开发,关于这部分需求,ROCKET-API提供了解决方案

取个例子:

表:user(id,name,sex,phone,create_time)

表:book(id,name)

表:userbook(userid,book_id)

需求1:对用户表进行分页查询,必填参数create_time时间范围内,可选参数:name 模糊匹配
在ROCKET-API中实现为:
sql = """
select id,name from user where create_time between #{startTime} and #{endTime}
?{name,and name like concat('%',#{name},'%')}
"""
db.pager(sql)
完整ROCKET-API中截图:





说明:

1. sql部分很像mybatis语法,#{}表示参数替换,?{}:表示可选参数替换(与mybatis if语法一致)

2. db.pager() 将参数与sql进行绑定

3. 而参数的来源为直接是HTTP请求的参数:http://localhost:8088/user/page?startTime=2020-07-12 00:00:00&endTime=2020-10-12 00:00:00,省略参数接收,VO定义等

需求2:对用户表进行分页查询,返回用户姓名,用户拥有的书籍(多个用逗号分隔),必填参数create_time时间范围内,可选参数:name 模糊匹配
在ROCKET-API中实现为:
sql = """
select t1.name,group_concat(t3.name) books
(
select id,name from user where create_time between #{startTime} and #{endTime}
?{name,and name like concat('%',#{name},'%')}
) t1
left join user_book t2 on t1.id = t2.user_id
left join book t3 on t3.id = t2.book_id
group by t1.id
"""
db.pager(sql)

说明:

1. 能用SQL搞定的,就坚持不写代码



官方地址: https://gitee.com/alenfive/rocket-api



发布于: 2020 年 10 月 14 日 阅读数: 24
用户头像

棒锤🐮

关注

还未添加个人签名 2019.10.08 加入

还未添加个人简介

评论

发布
暂无评论
搞开发,写SQL就够了