R
R
Rocket-API
Search…
纯SQL模式
作为一个美男子,姜少女,有时候就只想静静的写几条SQL,啥事不想干,v2.4.3.RELEASE提供了这样的方法,只有SQL,单纯的SQL

### 设计思想

通过自动识别脚本中的内容,再加上约定的PATH后缀,实现判断是否是SQL脚本,分析SQL并执行相应的增,删,改,查,分页查询,计数查询,单条查询等数据库操作

条件:

  1. 1.
    脚本中只存在sql,连注释都不允许存在
案例:

1. 新增 - 只有sql,等于执行db.insert()

1
insert into user(id) values('123')
Copied!

2. 修改 - 只有sql ,等于执行db.update()

1
update user set name = #{name} where id = #{id}
Copied!

3. 删除 - 只有sql 等于执行db.remove()

1
delete from user where id = #{id}
Copied!

4. 列表查询 - 只有sql ,等于执行db.find()

1
select * from user
Copied!

5. 分页查询 - 分页查询是属于查询的一种,单纯从sql不能匹配是否应该分页,Rocket-API约定规则,如果PATH后缀定义为/page 将会执行自动分页,并以分页结构返回,等于执行db.pager()。脚本中依然只有sql

1
select * from user
Copied!

6. 返回第一条记录 - 单条记录返回也是属于查询的一种,所以同样从sql不能区分应该执行什么样的操作,所以同样以PATH后缀约定为/first,将会返回单体记录,以对象形式存在,等于执行db.findOne()。脚本中依然只有sql

1
select * from user limit 2
Copied!

7. 返回计数结果,同上。约定PATH以/count结尾,将会返回数量 等于执行db.count()操作,脚本中依然只有sql

1
select count(1) from user
Copied!

8. 约定的PATH后缀可配置如下:

1
spring:
2
rocket-api:
3
sql-model:
4
find-one-suffix: /first
5
pager-suffix: /page
6
count-suffix: /count
Copied!
Last modified 5mo ago
Copy link
Contents