Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
不是太高的手
SPTools
提交
c4f9d35a
S
SPTools
项目概览
不是太高的手
/
SPTools
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SPTools
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c4f9d35a
编写于
7月 30, 2020
作者:
小
小柒2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
在线数据库查询
上级
9f2c1aca
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
203 addition
and
0 deletion
+203
-0
src/main/java/com/tools/module/app/service/AppQueryService.java
...in/java/com/tools/module/app/service/AppQueryService.java
+9
-0
src/main/java/com/tools/module/app/service/impl/AppQueryServiceImpl.java
...om/tools/module/app/service/impl/AppQueryServiceImpl.java
+31
-0
src/main/java/com/tools/module/app/web/QueryController.java
src/main/java/com/tools/module/app/web/QueryController.java
+35
-0
src/main/resources/templates/app/query/list.html
src/main/resources/templates/app/query/list.html
+128
-0
未找到文件。
src/main/java/com/tools/module/app/service/AppQueryService.java
0 → 100644
浏览文件 @
c4f9d35a
package
com.tools.module.app.service
;
import
com.tools.common.model.Result
;
public
interface
AppQueryService
{
Result
crud
(
String
sql
);
}
src/main/java/com/tools/module/app/service/impl/AppQueryServiceImpl.java
0 → 100644
浏览文件 @
c4f9d35a
package
com.tools.module.app.service.impl
;
import
com.tools.common.dynamicquery.DynamicQuery
;
import
com.tools.common.model.Result
;
import
com.tools.module.app.service.AppQueryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
AppQueryServiceImpl
implements
AppQueryService
{
@Autowired
private
DynamicQuery
dynamicQuery
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
crud
(
String
sql
)
{
if
(
sql
.
startsWith
(
"SELECT"
)||
sql
.
startsWith
(
"select"
)){
List
<
Map
<
String
,
String
>>
list
=
dynamicQuery
.
nativeQueryListMap
(
sql
,
null
);
return
Result
.
ok
(
list
);
}
else
{
int
count
=
dynamicQuery
.
nativeExecuteUpdate
(
sql
);
return
Result
.
ok
(
count
);
}
}
}
src/main/java/com/tools/module/app/web/QueryController.java
0 → 100644
浏览文件 @
c4f9d35a
package
com.tools.module.app.web
;
import
com.tools.common.dynamicquery.DynamicQuery
;
import
com.tools.common.model.Result
;
import
com.tools.common.util.HttpClient
;
import
com.tools.module.app.entity.AppTinyUrl
;
import
com.tools.module.app.service.AppQueryService
;
import
com.tools.module.app.service.AppTinyUrlService
;
import
io.swagger.annotations.Api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 在线查询
*/
@Api
(
tags
=
"在线查询"
)
@RestController
@RequestMapping
(
"app/query"
)
public
class
QueryController
{
@Autowired
private
AppQueryService
queryService
;
/**
* 查询
* @param sql
* @return
*/
@RequestMapping
(
"crud"
)
public
Result
crud
(
String
sql
)
{
return
queryService
.
crud
(
sql
);
}
}
src/main/resources/templates/app/query/list.html
0 → 100644
浏览文件 @
c4f9d35a
<!DOCTYPE html>
<html
lang=
"en"
xmlns:th=
"http://www.thymeleaf.org"
>
<head
th:replace=
"common/head :: head(link)"
/>
<body>
<div
id=
"app"
class=
"layui-fluid"
v-cloak
>
<div
class=
"layui-row"
style=
"padding: 20px"
>
<template>
<i-input
type=
"textarea"
:autosize=
"{minRows: 6,maxRows: 10}"
v-model=
"sql"
placeholder=
"输入任务"
></i-input>
<br/>
<br/>
<i-button
style=
"float: right"
@
click=
"query"
type=
"primary"
icon=
"ios-search"
>
查询
</i-button>
</template>
<br/>
<br/><br/>
<template>
<i-input
type=
"textarea"
:autosize=
"{minRows: 10}"
v-model=
"result"
placeholder=
"查询结果"
></i-input>
</template>
</div>
</div>
<div
th:replace=
"common/foot :: foot(script、jquery)"
></div>
<script
th:inline=
"none"
>
layui
.
use
([
"
okUtils
"
,
"
okLayer
"
],
function
()
{
var
okUtils
=
layui
.
okUtils
;
var
okLayer
=
layui
.
okLayer
;
var
vm
=
new
Vue
({
el
:
'
#app
'
,
data
:
function
(){
var
that
=
this
;
return
{
sql
:
""
,
result
:
''
}
},
methods
:
{
query
:
function
()
{
okUtils
.
ajaxCloud
({
url
:
"
/app/query/crud
"
,
param
:
{
'
sql
'
:
vm
.
sql
},
success
:
function
(
result
)
{
vm
.
result
=
formatJson
(
JSON
.
stringify
(
result
))
}
});
}
},
created
:
function
()
{
}
})
});
// 工具方法
var
formatJson
=
function
(
json
,
options
)
{
var
reg
=
null
,
formatted
=
''
,
pad
=
0
,
PADDING
=
'
'
;
// one can also use '\t' or a different number of spaces
// optional settings
options
=
options
||
{};
// remove newline where '{' or '[' follows ':'
options
.
newlineAfterColonIfBeforeBraceOrBracket
=
(
options
.
newlineAfterColonIfBeforeBraceOrBracket
===
true
)
?
true
:
false
;
// use a space after a colon
options
.
spaceAfterColon
=
(
options
.
spaceAfterColon
===
false
)
?
false
:
true
;
// begin formatting...
// make sure we start with the JSON as a string
if
(
typeof
json
!==
'
string
'
)
{
json
=
JSON
.
stringify
(
json
);
}
// parse and stringify in order to remove extra whitespace
json
=
JSON
.
parse
(
json
);
json
=
JSON
.
stringify
(
json
);
// add newline before and after curly braces
reg
=
/
([\{\}])
/g
;
json
=
json
.
replace
(
reg
,
'
\r\n
$1
\r\n
'
);
// add newline before and after square brackets
reg
=
/
([\[\]])
/g
;
json
=
json
.
replace
(
reg
,
'
\r\n
$1
\r\n
'
);
// add newline after comma
reg
=
/
(\,)
/g
;
json
=
json
.
replace
(
reg
,
'
$1
\r\n
'
);
// remove multiple newlines
reg
=
/
(\r\n\r\n)
/g
;
json
=
json
.
replace
(
reg
,
'
\r\n
'
);
// remove newlines before commas
reg
=
/
\r\n\,
/g
;
json
=
json
.
replace
(
reg
,
'
,
'
);
// optional formatting...
if
(
!
options
.
newlineAfterColonIfBeforeBraceOrBracket
)
{
reg
=
/
\:\r\n\{
/g
;
json
=
json
.
replace
(
reg
,
'
:{
'
);
reg
=
/
\:\r\n\[
/g
;
json
=
json
.
replace
(
reg
,
'
:[
'
);
}
if
(
options
.
spaceAfterColon
)
{
reg
=
/
\:
/g
;
json
=
json
.
replace
(
reg
,
'
:
'
);
}
$
.
each
(
json
.
split
(
'
\r\n
'
),
function
(
index
,
node
)
{
var
i
=
0
,
indent
=
0
,
padding
=
''
;
if
(
node
.
match
(
/
\{
$/
)
||
node
.
match
(
/
\[
$/
))
{
indent
=
1
;
}
else
if
(
node
.
match
(
/
\}
/
)
||
node
.
match
(
/
\]
/
))
{
if
(
pad
!==
0
)
{
pad
-=
1
;
}
}
else
{
indent
=
0
;
}
for
(
i
=
0
;
i
<
pad
;
i
++
)
{
padding
+=
PADDING
;
}
formatted
+=
padding
+
node
+
'
\r\n
'
;
pad
+=
indent
;
});
return
formatted
;
};
</script>
</body>
</html>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录