快速上手
本教程将通过为如下角色表构建RESTful服务的完整过程,帮助您快速上手DoytoQuery框架。
1
admin
ADMIN
true
2
vip
VIP
true
3
vip2
VIP2
true
4
vip3
VIP3
true
5
guest
GUEST
true
示例代码请访问Github。
初始化工程
1. 在 Spring Initializer 上初始化工程,添加以下4个依赖:
Lombok
Spring Web
Validation
HyperSQL Database
2. 引入DoytoQuery
在pom.xml中添加如下依赖:
<dependencies>
<dependency>
<groupId>win.doyto</groupId>
<artifactId>doyto-query-jdbc</artifactId>
<version>${doyto-query.version}</version>
</dependency>
<dependency>
<groupId>win.doyto</groupId>
<artifactId>doyto-query-web</artifactId>
<version>${doyto-query.version}</version>
</dependency>
<dependency>
<groupId>win.doyto</groupId>
<artifactId>doyto-query-dialect</artifactId>
<version>${doyto-query.version}</version>
</dependency>
...
</dependencies>3. 添加默认Web配置
DemoApplication需要继承win.doyto.query.web.WebMvcConfigurerAdapter
4. 配置分页插件
DoytoQuery默认提供的是MySQL的分页插件,而本demo使用的数据库是HSQLDB,所以我们这里需要引入doyto-query-dialect,然后在spring的application.yaml文件里配置使用。另外这里列名是小写加下划线的格式,这里同时配置一下map-camel-case-to-underscore为true,表示将驼峰形式的字段名映射为下划线形式的列名:
初始化数据
在src/main/resources下创建schema.sql:
创建业务类
在packagewin.doyto.query.demo.module.role下,创建以下三个类:
RoleEntity,用于映射表字段:
RoleQuery,用于构建查询语句:
RoleController,用于提供CRUD功能和RESTful接口:
测试验证
只需以上三个类就完成了整个RESTful服务的开发,接下来我们一起验证一下效果。
将org.springframework.web.servlet.mvc.method.annotation包的日志等级设置为trace,启动DemoApplication,可以看到/role/路径下已经有GET, PUT, PATCH等方法了:
然后通过curl访问一下分页查询接口:
curl 'http://localhost:8080/role/?roleNameLike=vip&pageNumber=2&pageSize=2&sort=id,desc'
可以看到我们使用roleNameLike=vip过滤出3条数据id=[2,3,4],再根据id倒序排列以及分页参数pageNumber=2和pageSize=2查询出了第二页id为2的记录。
更多查询字段的用法请参考查询对象。
最后通过单元测试进行验证:
完整的测试用例请查看这里。
最后更新于
这有帮助吗?