快速开始

我们将通过一个简单的 Demo 来阐述 wueasy 的强大功能,在此之前,我们假设您已经:

  • 拥有 Java 开发环境以及相应 IDE
  • 熟悉 Spring Boot
  • 熟悉 Maven
  • 熟悉 MyBatis
  • 熟悉 MySql

现有一张 user 表,其表结构如下:

id name age email
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-datamodelwueasy-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] 通过执行自动生成类,生成对应的mapperentity

打开文件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

Copyright © wueasy.com 2017-2019 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2019-10-04

results matching ""

    No results matching ""