快速开始
我们将通过一个简单的 Demo 来阐述 wueasy
的强大功能,在此之前,我们假设您已经:
- 拥有 Java 开发环境以及相应 IDE
- 熟悉 Spring Boot
- 熟悉 Maven
- 熟悉 MyBatis
- 熟悉 MySql
现有一张 user
表,其表结构如下:
id | name | age | |
---|---|---|---|
1 | wueasy | 2 | server@wueasy.com |
2 | fallsea | 18 | fallsea@wueasy.com |
其对应的数据库 Schema 脚本如下:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
`age` int(11) NULL DEFAULT NULL COMMENT '年龄',
`email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) AUTO_INCREMENT = 1 ;
其对应的数据库 Data 脚本如下:
DELETE FROM `user`;
INSERT INTO `user` VALUES (1, 'wueasy', 2, 'server@wueasy.com');
INSERT INTO `user` VALUES (2, 'fallsea', 18, 'fallsea@wueasy.com');
[!question] 如果从零开始用
wueasy
来实现该表的增删改查接口,我们需要做什么呢?
导入工程
[!TIP] 通过导入演示demo,快速搭建环境。
分别导入wueasy-demo-datamodel
和wueasy-demo-injvm
自动生成mybatis接口
[!TIP] 通过自动生成mybatisi接口文件,减少开发成功。
打开wueasy-demo-datamodel
项目工程
数据库配置
修改数据库连接配置。打开文件src\test\resources\application-dev.yml
wueasy:
datasource :
demo :
isLog: true
mybatis:
basePackage: com.wueasy.auto.mapper
mapperLocations: classpath*:mybatis/wueasy/auto/*.xml
connection:
url : jdbc:mysql://localhost:3306/easy_data?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
username : easyadmin
password : easyadmin
#连接池配置
initialSize : 10 #初始化大小
minIdle : 10 #最小连接
maxActive : 20 #最大连接
maxWait : 60000 #配置获取连接等待超时的时间
timeBetweenEvictionRunsMillis : 2000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
minEvictableIdleTimeMillis : 600000 #配置一个连接在池中最小生存的时间,单位是毫秒
maxEvictableIdleTimeMillis : 600000 #配置一个连接在池中最大生存的时间,单位是毫秒
validationQuery : SELECT 1 from dual
testWhileIdle : true
testOnBorrow : false
testOnReturn : false
keepAlive : true
执行自动生成类
[!TIP] 通过执行自动生成类,生成对应的
mapper
和entity
。
打开文件src\test\java\ApplicationTests.java
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes=WueasyApplicationAuto.class)
public class ApplicationTests {
@Autowired
private AutoCodeService autoCodeService;
/**
* 自动生成
* @author: fallsea
*/
@Test
public void testObj() {
try {
String tableName = "user";//表名
String entityPackage = "com.wueasy.demo.entity";//实体包bean路径
String mapperPackage = "com.wueasy.demo.mapper";//mapper包路径
String mapperXmlPackage = "mybatis.wueasy.demo";//mapper配置文件包路径
autoCodeService.auto(tableName, entityPackage, mapperPackage, mapperXmlPackage);
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行完成后,将在对应的包中生成对应的文件。
接口配置
[!TIP] 接口配置是一种暴露服务接口的信息,配置后,其他服务可以调用此接口,也可以在配置中做一些接口验证处理。
打开wueasy-demo-injvm
项目工程
查询分页
- 配置一个查询分页的功能号:
function
- 指定功能号id:
id="D1001"
- 设置功能号调用
mapper
接口type="m"
指定功能号需要分页
isPage="1"
设置请求的接口地址
resource
,值为mapper接口路径+方法名称
- 设置接口中文名称
description
<function id="D1001" type="m" isPage="1">
<resource>com.wueasy.demo.mapper.UserMapper.select</resource>
<description>查询分页</description>
</function>
新增
- 配置一个新增的功能号:
function
- 指定功能号id:
id="D1002"
设置功能号调用
mapper
接口type="m"
参数配置:
param
,一般只有参数验证的时候,才需要编写,也可以当作接口文档。- 姓名不能为空配置:
<param id="name" name="姓名" required="1"/>
id
为参数名,name
为参数中午名称,required="1"
不能为空设置请求的接口地址
resource
,值为mapper接口路径+方法名称
- 设置接口中文名称
description
<function id="D1002" type="m">
<params>
<param id="name" name="姓名" required="1"/>
<param id="age" name="名称" required="1"/>
<param id="email" name="邮箱" required="1"/>
</params>
<resource>com.wueasy.demo.mapper.UserMapper.insertSelective</resource>
<description>新增</description>
</function>
修改
<function id="D1003" type="m">
<params>
<param id="id" name="id" required="1"/>
<param id="name" name="姓名" required="1"/>
<param id="age" name="名称" required="1"/>
<param id="email" name="邮箱" required="1"/>
</params>
<resource>com.wueasy.demo.mapper.UserMapper.updateByPrimaryKeySelective</resource>
<description>修改</description>
</function>
查询单个数据
<function id="D1004" type="m">
<params>
<param id="id" name="id" required="1"/>
</params>
<resource>com.wueasy.demo.mapper.UserMapper.selectByPrimaryKey</resource>
<description>查询单个数据</description>
</function>
删除
<function id="D1005" type="m">
<params>
<param id="id" name="id" required="1"/>
</params>
<resource>com.wueasy.demo.mapper.UserMapper.deleteByPrimaryKey</resource>
<description>删除</description>
</function>
启动服务
执行Application.java
类启动服务
打开wueasy-demo-injvm
项目工程
修改数据库配置
修改数据库连接配置。打开文件src\main\resources\application-dev.yml
wueasy :
datasource :
demo :
mybatis:
basePackage: com.wueasy.demo.mapper
mapperLocations: classpath*:mybatis/wueasy/demo/*.xml
connection:
url : jdbc:mysql://localhost:3306/easy_data?useSSL=false&useUnicode=true&characterEncoding=utf-8
username : easyadmin
password : easyadmin
#连接池配置
initialSize : 10 #初始化大小
minIdle : 10 #最小连接
maxActive : 20 #最大连接
maxWait : 60000 #配置获取连接等待超时的时间
timeBetweenEvictionRunsMillis : 2000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
minEvictableIdleTimeMillis : 600000 #配置一个连接在池中最小生存的时间,单位是毫秒
maxEvictableIdleTimeMillis : 600000 #配置一个连接在池中最大生存的时间,单位是毫秒
validationQuery : SELECT 1 from dual
testWhileIdle : true
testOnBorrow : false
testOnReturn : false
keepAlive : true
请求测试
[!TIP] 系统默认提供调用功能号的
Controller
,可以直接使用。
Controller接口
默认为Controller接口:http://localhost:8080/servlet/功能号
只需要按照此方式调用即可
调用demo
查询分页接口:
http://localhost:8080/servlet/D1001
新增接口:
http://localhost:8080/servlet/D1002?name=测试&age=12&email=xxx@qq.com
修改接口:
http://localhost:8080/servlet/D1003?name=%E6%B5%8B%E8%AF%9522&age=12&email=xxx@qq.com&id=3
查询单个数据接口:
http://localhost:8080/servlet/D1004?id=3
删除接口:
http://localhost:8080/servlet/D1005?id=3