瀏覽代碼

新增SQL管理的使用范例

huangbo 5 年之前
父節點
當前提交
e78db76414

+ 4 - 65
ipu-rest-scaffold/pom.xml

@ -13,7 +13,7 @@
13 13
	<name>restful脚手架服务</name>
14 14
	
15 15
	<repositories>
16
		<!-- IPU相关仓库 -->
16
		<!-- IPU仓库 -->
17 17
		<repository>
18 18
			<id>ipu</id>
19 19
			<name>ipu repository</name>
@ -26,89 +26,28 @@
26 26
				<updatePolicy>always</updatePolicy>
27 27
			</snapshots>
28 28
		</repository>
29
		<!-- AFI私服,内网私服 -->
30
		<repository>
31
			<id>aif_group</id>
32
			<url>http://10.11.20.81:8080/nexus/content/groups/aif_group/</url>
33
		</repository>
34
		<repository>
35
			<id>msgframe</id>
36
			<name>msgframe</name>
37
			<url>http://10.11.20.81:8080/nexus/content/repositories/msgframe/</url>
38
		</repository>
39 29
	</repositories>
40 30

41 31
	<properties>
42 32
		<start-class>com.ai.ipu.server.RestScaffoldStart</start-class>
43 33
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
44
		<msgframe>2.0.0</msgframe>
34
		<ipu>3.1-SNAPSHOT</ipu>
45 35
	</properties>
46 36

47 37
	<dependencies>
48 38
		<dependency>
49
			<groupId>junit</groupId>
50
			<artifactId>junit</artifactId>
51
			<scope>test</scope>
52
		</dependency>
53
		<dependency>
54
			<groupId>javax.servlet</groupId>
55
			<artifactId>javax.servlet-api</artifactId>
56
			<scope>provided</scope>
57
		</dependency>
58
		<!-- 由于重写了spring的部分类,需要置前引入,提高优先级 -->
59
		<dependency>
60
			<groupId>com.ai.ipu.server</groupId>
61
			<artifactId>ipu-restful</artifactId>
62
		</dependency>
63
		<!-- spring监听,admin-client会引入actuator -->
64
		<dependency>  
65
		    <groupId>de.codecentric</groupId>  
66
		    <artifactId>spring-boot-admin-starter-client</artifactId>
67
		</dependency>
68
		<dependency>
69
			<groupId>com.ai.wade</groupId>
70
			<artifactId>wade-data</artifactId>
71
		</dependency>
72
		<dependency>
73 39
			<groupId>com.ai.ipu</groupId>
74
			<artifactId>ipu-server-web</artifactId>
75
		</dependency>
76
		
77
		<!-- msgframe相关依赖 -->
78
		<dependency>
79
			<groupId>msgframe</groupId>
80
			<artifactId>msgframe-client</artifactId>
81
			<version>${msgframe}</version>
82
		</dependency>
83
		<dependency>
84
			<groupId>msgframe</groupId>
85
			<artifactId>msgframe-common</artifactId>
86
			<version>${msgframe}</version>
40
			<artifactId>ipu-sql-mgmt</artifactId>
41
			<version>${ipu}</version>
87 42
		</dependency>
88 43
	</dependencies>
89 44

90 45
	<build>
91 46
		<plugins>
92 47
			<plugin>
93
				<groupId>org.apache.maven.plugins</groupId>
94
				<artifactId>maven-compiler-plugin</artifactId>
95
				<configuration>
96
					<source>1.8</source>
97
					<target>1.8</target>
98
					<encoding>UTF-8</encoding>
99
					<!-- 这里添加本地jar -->
100
					<compilerArguments>
101
 					<bootclasspath>${JAVA_HOME}/jre/lib/rt.jar</bootclasspath>
102
 					<extdirs>${project.basedir}/libs</extdirs>
103
					</compilerArguments>
104
				</configuration>
105
			</plugin>
106
			
107
			<plugin>
108 48
				<groupId>org.springframework.boot</groupId>
109 49
				<artifactId>spring-boot-maven-plugin</artifactId>
110 50
			</plugin>
111 51
		</plugins>
112
		<finalName>${project.artifactId}</finalName>
113 52
	</build>
114 53
</project>

+ 30 - 0
ipu-rest-scaffold/sql/ipu_db_demo.sql

@ -0,0 +1,30 @@
1
/*
2
Navicat MySQL Data Transfer
3

4
Source Server         : ipu测试-121.42.183.206
5
Source Server Version : 50625
6
Source Host           : 121.42.183.206:3307
7
Source Database       : test
8

9
Target Server Type    : MYSQL
10
Target Server Version : 50625
11
File Encoding         : 65001
12

13
Date: 2019-03-03 00:08:09
14
*/
15

16
SET FOREIGN_KEY_CHECKS=0;
17

18
-- ----------------------------
19
-- Table structure for ipu_db_demo
20
-- ----------------------------
21
DROP TABLE IF EXISTS `ipu_db_demo`;
22
CREATE TABLE `ipu_db_demo` (
23
  `pk` int(255) NOT NULL COMMENT '主键',
24
  `string_type` varchar(255) NOT NULL COMMENT '字符串字段',
25
  `int_type` int(255) NOT NULL COMMENT '整型字段',
26
  `decimal_type` decimal(4,2) NOT NULL COMMENT '小数值字段',
27
  `date_type` date NOT NULL COMMENT '日期字段',
28
  `datetime_type` datetime NOT NULL COMMENT '日期时间字段',
29
  PRIMARY KEY (`pk`)
30
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

+ 51 - 0
ipu-rest-scaffold/src/main/java/com/ai/ipu/server/control/DbSqlMgmtController.java

@ -0,0 +1,51 @@
1
package com.ai.ipu.server.control;
2

3
import java.util.List;
4
import java.util.Map;
5

6
import org.springframework.stereotype.Controller;
7
import org.springframework.web.bind.annotation.RequestMapping;
8
import org.springframework.web.bind.annotation.ResponseBody;
9

10
import com.ai.ipu.data.JMap;
11
import com.ai.ipu.data.impl.JsonMap;
12
import com.ai.ipu.sql.mgmt.ISqlMgmtDao;
13
import com.ai.ipu.sql.mgmt.SqlMgmtDaoFactory;
14

15
@Controller
16
@RequestMapping("/db/mgmt")
17
public class DbSqlMgmtController {
18
    private String connName = "test";
19

20
    @ResponseBody
21
    @RequestMapping("/select")
22
    public JMap executeSqlByFileRepository(JMap param) throws Exception {
23
        // TODO Auto-generated method stub
24
        JMap params = new JsonMap();
25
        params.put("pk", param.getInt("pk", 0));
26
        ISqlMgmtDao dao = SqlMgmtDaoFactory.createFileSqlMgmtDao(connName);
27
        List<Map<String, Object>> dataResult = dao.executeSelect("ipu.demo.ipu-db-demo", "select", params);
28
        JMap result = new JsonMap();
29
        result.put("result", dataResult);
30
        return result;
31
    }
32

33
    @ResponseBody
34
    @RequestMapping("/insert")
35
    public JMap inertByDbRepository(JMap param) throws Exception {
36
        // TODO Auto-generated method stub
37
        JMap params = new JsonMap();
38
        params.put("pk", 99);
39
        params.put("string_type", "字符串123");
40
        params.put("int_type", 999);
41
        params.put("decimal_type", 9.99);
42
        params.put("date_type", "2019-09-09");
43
        params.put("datetime_type", "2019-07-09 15:10:24");
44
        params.put("null_type", "");
45
        ISqlMgmtDao dao = SqlMgmtDaoFactory.createFileSqlMgmtDao(connName);
46
        int num = dao.executeInsert("ipu.demo.ipu-db-demo", "insert", params);
47
        JMap result = new JsonMap();
48
        result.put("result", num);
49
        return result;
50
    }
51
}

+ 26 - 0
ipu-rest-scaffold/src/main/resources/sql/ipu/demo/ipu-db-demo.xml

@ -0,0 +1,26 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<sqls>
3
	<sql name="select">
4
		<![CDATA[
5
		<select id="select" resultType="java.util.Map">
6
	        SELECT * FROM  ipu_db_demo WHERE pk=#{pk}
7
		</select>
8
		]]>
9
	</sql>
10
	
11
	<sql name="insert">
12
		<![CDATA[
13
		<insert id="insert" resultType="java.util.Map">
14
	        INSERT INTO ipu_db_demo VALUES(
15
	        	#{pk},
16
				#{string_type},
17
				#{int_type},
18
				#{decimal_type},
19
				#{date_type},
20
				#{datetime_type},
21
				#{null_type}
22
	        )
23
		</insert>
24
		]]>
25
	</sql>
26
</sqls>