**
使用idea工具在基于maven构建的Springboot项目中使用dataway替代mybatis等orm工具,使后台管理系统通过配置接口直接与数据库交互,无需繁杂的Control、service、request、response、dao、mapper等过程
**
本文运行前提是idea工具下的springboot项目(我是自己新起了一个demo工程)
新建工程后开始按如下步骤配置:
第一步:工程下pom文件引入相关依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- dataway引入依赖起始 -->
<dependency>
<groupId>net.hasor</groupId>
<artifactId>hasor-spring</artifactId>
<version>4.1.3</version>
</dependency>
<dependency>
<groupId>net.hasor</groupId>
<artifactId>hasor-dataway</artifactId>
<version>4.1.3-fix20200414</version><!-- 4.1.3 包存在UI资源缺失问题 -->
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!-- dataway引入依赖结束 -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
第二步:配置 Dataway,并初始化数据表
# 是否启用 Dataway 功能(必选:默认false)
HASOR_DATAQL_DATAWAY: true
# 是否开启 Dataway 后台管理界面(必选:默认false)
HASOR_DATAQL_DATAWAY_ADMIN: true
# SQL执行器方言设置(可选,建议设置)
HASOR_DATAQL_FX_PAGE_DIALECT: mysql
# dataway API工作路径(可选,默认:/api/)
HASOR_DATAQL_DATAWAY_API_URL=/api/
# dataway-ui 的工作路径(可选,默认:/interface-ui/)
HASOR_DATAQL_DATAWAY_UI_URL=/interface-ui/
# db
spring.datasource.url=jdbc:mysql://数据库连接ip及端口号/指定数据库名称 //如//192.168.0.3306:3306/test
spring.datasource.username=数据库用户名
spring.datasource.password=数据库密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# druid
spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=10
spring.datasource.druid.max-wait=60000
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=1
第三步:在上述所指库新建两张表,若缺这两张表,后边接口新建无法保存会提示缺表,而测试和发布功能无法使用,缺少等于就废了,这样是不能对前端提供接口的,只能在http://127.0.0.1:8080/interface-ui/运行
建表语句参看如下maven包,打开复制粘贴数据库建表即可
第四步:配置数据源
采用 druid + mysql + spring-boot-starter-jdbc 的方式。如上面的pom.xml, 和 properties配置文件。
第五步:把数据源设置到 Hasor 容器中
@DimModule
@Component
class ExampleModule implements SpringModule {
@Autowired
private DataSource dataSource = null;
@Override
public void loadModule(ApiBinder apiBinder) throws Throwable {
// .DataSource form Spring boot into Hasor
apiBinder.installModule(new JdbcModule(Level.Full, this.dataSource));
}
}
第六步:在SprintBoot 中启用 Hasor
@EnableHasor
@EnableHasorWeb
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
第七步:启动应用
启动后控制台能看到端口号,无报错即可,然后到浏览器验证,即第八步。
第八步:访问接口管理页面进行接口配置
在浏览器中输入 “http://127.0.0.1:8080/interface-ui/” 就可以看到期待已久的界面了。注意图中有一个坑,应该点掉那一按钮,然后把第一行注释删掉,从第一行开始写sql或DataQL语句。
第九步:新建一个接口
新建一个接口:输入请求url默认是以http://127.0.0.1:8080/api/ 为原始路径,可自行百度修改(参看第二步修改/api/)=>添加接口说明=>输入sql或DataQL语句=>执行=>冒烟测试=>发布。发布后的接口才能进入postman测试。
第十步:使用Postman模拟前端进行接口调试
更多接口配置使用细节待完善,请持续关注