Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sche
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘靖
sche
Commits
61f4c1ea
Commit
61f4c1ea
authored
Sep 04, 2020
by
yanru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加拦截器、跨域、页面跳转的配置
parent
9b129b12
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
298 additions
and
22 deletions
+298
-22
src/main/java/com/founder/config/CorsConfig.java
+0
-21
src/main/java/com/founder/config/WebMvcConfig.java
+1
-1
src/main/java/com/founder/util/PinSql.java
+249
-0
src/main/java/com/founder/util/TestUtil.java
+48
-0
No files found.
src/main/java/com/founder/config/CorsConfig.java
deleted
100644 → 0
View file @
9b129b12
package
com
.
founder
.
config
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
;
/*
* 跨域访问配置(访问本系统)
*/
@Configuration
public
class
CorsConfig
extends
WebMvcConfigurerAdapter
{
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
.
allowedOrigins
(
"*"
)
.
allowCredentials
(
true
)
.
allowedMethods
(
"GET"
,
"POST"
,
"DELETE"
,
"PUT"
)
.
maxAge
(
3600
);
}
}
src/main/java/com/founder/config/
DefaultView
Config.java
→
src/main/java/com/founder/config/
WebMvc
Config.java
View file @
61f4c1ea
...
@@ -18,7 +18,7 @@ import java.util.List;
...
@@ -18,7 +18,7 @@ import java.util.List;
* @Date 2020/9/318:49
* @Date 2020/9/318:49
*/
*/
@Configuration
@Configuration
public
class
DefaultView
Config
implements
WebMvcConfigurer
{
public
class
WebMvc
Config
implements
WebMvcConfigurer
{
/**
/**
* 页面跳转
* 页面跳转
...
...
src/main/java/com/founder/util/PinSql.java
0 → 100644
View file @
61f4c1ea
package
com
.
founder
.
util
;
import
org.springframework.util.StringUtils
;
import
java.sql.Connection
;
import
java.sql.DriverManager
;
import
java.sql.ResultSet
;
import
java.sql.Statement
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
public
class
PinSql
{
private
static
Pattern
linePattern
=
Pattern
.
compile
(
"_(\\w)"
);
private
String
url
=
"jdbc:oracle:thin:@47.92.129.99:1600:orcl"
;
private
String
username
=
"XZXT"
;
private
String
userpass
=
"XZXT"
;
public
String
getUrl
()
{
return
url
;
}
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
}
public
String
getUsername
()
{
return
username
;
}
public
void
setUsername
(
String
username
)
{
this
.
username
=
username
;
}
public
String
getUserpass
()
{
return
userpass
;
}
public
void
setUserpass
(
String
userpass
)
{
this
.
userpass
=
userpass
;
}
/************************************PINSQL start********************************************/
/**
* 拼sql
* @param string 字段字符串
* @param type sql类别
* @param tabname 表名
* @return
*/
public
String
getSql
(
String
string
,
String
type
,
String
tabname
){
String
str
=
""
;
StringBuilder
sql1
=
new
StringBuilder
();
StringBuilder
sql2
=
new
StringBuilder
();
String
[]
str1
=
string
.
split
(
"@"
);
if
(
type
.
equals
(
"add"
)
||
type
==
"add"
){
sql1
.
append
(
"INSERT INTO "
+
tabname
+
" (\n"
);
sql2
.
append
(
" VALUES(\n"
);
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
if
(
i
==
0
){
sql1
.
append
(
str2
[
0
]).
append
(
"\n"
);
if
(
"DATE"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"DATE"
)
sql2
.
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=TIMESTAMP }\n"
);
else
if
(
"NUMBER"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"NUMBER"
)
sql2
.
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=INTEGER }\n"
);
else
sql2
.
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=VARCHAR }\n"
);
}
else
{
sql1
.
append
(
","
).
append
(
str2
[
0
]).
append
(
"\n"
);
if
(
"DATE"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"DATE"
)
sql2
.
append
(
","
).
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=TIMESTAMP }\n"
);
else
if
(
"NUMBER"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"NUMBER"
)
sql2
.
append
(
","
).
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=INTEGER }\n"
);
else
sql2
.
append
(
","
).
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=VARCHAR }\n"
);
}
}
sql1
.
append
(
")"
);
sql2
.
append
(
")"
);
str
=
sql1
.
toString
()+
"\n"
+
sql2
.
toString
();
}
else
if
(
type
.
equals
(
"update"
)
||
type
==
"update"
){
sql2
.
append
(
"UPDATE "
+
tabname
+
" SET \n"
);
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
if
(
"DATE"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"DATE"
)
sql2
.
append
(
"<if test=\""
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != null\"> "
).
append
(
str2
[
0
].
toLowerCase
()).
append
(
" = "
).
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=TIMESTAMP }, </if> \n"
);
else
if
(
"NUMBER"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"NUMBER"
)
sql2
.
append
(
"<if test=\""
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != null and "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != ''\"> "
).
append
(
str2
[
0
].
toLowerCase
()).
append
(
" = "
).
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=INTEGER }, </if> \n"
);
else
sql2
.
append
(
"<if test=\""
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != null and "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != ''\"> "
).
append
(
str2
[
0
]).
append
(
" = "
).
append
(
"#{ "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=VARCHAR }, </if> \n"
);
}
str
=
sql2
.
toString
();
}
else
if
(
type
.
equals
(
"where"
)
||
type
==
"where"
){
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
if
(
"DATE"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"DATE"
)
sql1
.
append
(
"<if test=\"entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != null\"> AND "
).
append
(
str2
[
0
]).
append
(
" = #{entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=TIMESTAMP } </if>"
).
append
(
"\n"
);
else
if
(
"NUMBER"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"NUMBER"
)
sql1
.
append
(
"<if test=\"entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != null\"> AND "
).
append
(
str2
[
0
]).
append
(
" = #{entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=INTEGER } </if>"
).
append
(
"\n"
);
else
sql1
.
append
(
"<if test=\"entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != null and entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" != ''\"> AND "
).
append
(
str2
[
0
]).
append
(
" = #{entity."
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
" , jdbcType=VARCHAR } </if>"
).
append
(
"\n"
);
}
str
=
sql1
.
toString
();
}
else
if
(
type
.
equals
(
"select"
)
||
type
==
"select"
){
// sql1.append("select \n");
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
// sql1.append(str2[0]).append(" as ").append(str2[0].toLowerCase()).append(",\n");
sql1
.
append
(
str2
[
0
]).
append
(
",\n"
);
}
// sql1.append(" from ").append(tabname);
str
=
sql1
.
toString
();
}
else
if
(
type
.
equals
(
"javabean"
)
||
type
==
"javabean"
){
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
if
(
"DATE"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"DATE"
){
sql1
.
append
(
"//"
).
append
(
str2
[
2
]).
append
(
""
).
append
(
"\n"
);
//sql1.append("@FormParam(\"").append(str2[0].toLowerCase()).append("\")").append("\n");
//sql1.append("@JSONField(format = \"yyyy-MM-dd\")").append("\n");
//sql1.append("@DateTimeFormat(pattern = \"yyyy-MM-dd\")").append("\n");
//sql1.append("@JsonSerialize(using = SimpleDateSerializer.class)").append("\n");
//sql1.append("@JsonDeserialize(using = SimpleDateDeserializer.class)").append("\n");
sql1
.
append
(
"private java.util.Date "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
";\n\n"
);
}
else
if
(
"NUMBER"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"NUMBER"
){
sql1
.
append
(
"//"
).
append
(
str2
[
2
]).
append
(
""
).
append
(
"\n"
);
//sql1.append("@FormParam(\"").append(str2[0].toLowerCase()).append("\")").append("\n");
sql1
.
append
(
"private Double "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
";\n\n"
);
}
else
{
sql1
.
append
(
"//"
).
append
(
str2
[
2
]).
append
(
""
).
append
(
"\n"
);
//sql1.append("@FormParam(\"").append(str2[0].toLowerCase()).append("\")").append("\n");
sql1
.
append
(
"private String "
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
";\n\n"
);
}
}
str
=
sql1
.
toString
();
}
else
if
(
type
.
equals
(
"javatostring"
)
||
type
==
"javatostring"
){
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
sql1
.
append
(
"sb.append(\","
).
append
(
str2
[
0
].
toLowerCase
()).
append
(
"='\").append("
).
append
(
str2
[
0
].
toLowerCase
()).
append
(
").append('\\'');"
).
append
(
"\n"
);
}
str
=
sql1
.
toString
();
}
else
if
(
type
.
equals
(
"resultMap"
)
||
type
==
"resultMap"
){
for
(
int
i
=
0
;
i
<
str1
.
length
;
i
++){
String
[]
str2
=
str1
[
i
].
split
(
"#"
);
// <result column="ASJBH" property="asjbh" jdbcType="VARCHAR"/>
if
(
"DATE"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"DATE"
){
sql1
.
append
(
"<result column=\""
).
append
(
str2
[
0
].
toUpperCase
()).
append
(
"\" property=\""
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
"\" jdbcType=\"TIMESTAMP\"/>"
).
append
(
"\n"
);
}
else
if
(
"NUMBER"
.
equals
(
str2
[
1
])
||
str2
[
1
]
==
"NUMBER"
){
sql1
.
append
(
"<result column=\""
).
append
(
str2
[
0
].
toUpperCase
()).
append
(
"\" property=\""
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
"\" jdbcType=\"INTEGER\"/>"
).
append
(
"\n"
);
}
else
{
sql1
.
append
(
"<result column=\""
).
append
(
str2
[
0
].
toUpperCase
()).
append
(
"\" property=\""
).
append
(
lineToLowHump
(
str2
[
0
].
toLowerCase
())).
append
(
"\" jdbcType=\"VARCHAR\"/>"
).
append
(
"\n"
);
}
}
str
=
sql1
.
toString
();
}
return
str
;
}
/**
* 拼sql
* @param tabname 表名(必须大写)
* @return
*/
public
void
getTabColumn
(
String
tabname
){
Connection
conn
=
null
;
ResultSet
rs
=
null
;
Statement
st
=
null
;
String
sql_tbl
=
" select TABLE_NAME , COLUMN_NAME , comments from user_col_comments where TABLE_NAME='"
+
tabname
+
"'"
;
sql_tbl
=
"select"
+
" A.column_name,A.data_type column_type,A.data_length 长度,A.data_precision 整数位,"
+
" A.Data_Scale 小数位,A.nullable 允许空值,A.Data_default 缺省值,B.comments COLUMN_str"
+
" from"
+
" user_tab_columns A,user_col_comments B"
+
" where"
+
" A.Table_Name = B.Table_Name"
+
" and A.Column_Name = B.Column_Name"
+
" and A.Table_Name = '"
+
tabname
+
"'"
;
// System.out.println(sql_tbl);
String
str
=
""
;
try
{
Class
.
forName
(
"oracle.jdbc.driver.OracleDriver"
);
conn
=
DriverManager
.
getConnection
(
url
,
username
,
userpass
);
conn
.
setAutoCommit
(
true
);
st
=
conn
.
createStatement
();
rs
=
st
.
executeQuery
(
sql_tbl
);
while
(
rs
.
next
()){
if
(
""
.
equals
(
str
))
str
+=
rs
.
getString
(
"COLUMN_NAME"
)+
"#"
+
rs
.
getString
(
"column_type"
)+
"#"
+
rs
.
getString
(
"COLUMN_str"
);
else
str
+=
"@"
+
rs
.
getString
(
"COLUMN_NAME"
)+
"#"
+
rs
.
getString
(
"column_type"
)+
"#"
+
rs
.
getString
(
"COLUMN_str"
);
}
//System.out.println(this.getSql(str, "add", tabname));
//(to_date(#{lasjQssj, jdbcType=VARCHAR},'yyyy-MM-dd hh24:mi:ss'))
//System.out.println(this.getSql(str, "update", tabname));
//(to_date(#{lasjQssj, jdbcType=VARCHAR},'yyyy-MM-dd hh24:mi:ss'))
// System.out.println(this.getSql(str, "select", tabname));
//需要别名
System
.
out
.
println
(
this
.
getSql
(
str
,
"javabean"
,
tabname
));
//所有类型为String
// System.out.println(this.getSql(str, "javatostring", tabname));
// System.out.println(this.getSql(str, "resultMap", tabname));
// System.out.println(this.getSql(str, "where", tabname));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
conn
!=
null
){
conn
.
close
();}
if
(
rs
!=
null
){
rs
.
close
();}
if
(
st
!=
null
){
st
.
close
();}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
/**
* 下划线转小驼峰
*/
public
static
String
lineToLowHump
(
String
str
)
{
if
(
StringUtils
.
isEmpty
(
str
))
{
return
""
;
}
str
=
str
.
toLowerCase
();
Matcher
matcher
=
linePattern
.
matcher
(
str
);
StringBuffer
sb
=
new
StringBuffer
();
while
(
matcher
.
find
())
{
matcher
.
appendReplacement
(
sb
,
matcher
.
group
(
1
).
toUpperCase
());
}
matcher
.
appendTail
(
sb
);
return
sb
.
toString
();
}
/************************************PINSQL end********************************************/
public
static
void
main
(
String
[]
args
){
//输入表名即可(大写)
new
PinSql
().
getTabColumn
(
"TB_ASJ_JWDINFO"
.
toUpperCase
());
//转大写
}
}
src/main/java/com/founder/util/TestUtil.java
0 → 100644
View file @
61f4c1ea
package
com
.
founder
.
util
;
import
javax.crypto.Mac
;
import
javax.crypto.spec.SecretKeySpec
;
/**
* @Author yanru
* @Date 2020/9/49:55
*/
public
class
TestUtil
{
public
static
void
main
(
String
[]
args
)
{
try
{
String
secret
=
HMACSHA256
(
"app_id=XZ15000000&app_key=pSFRNTQQXDJKSjzL&xz_token=2d69c3e2da6e8ecc8e977603×tamp=1591152151950"
,
"zdejRKFNCUSSAIjbvijEdRFxjnzKAI"
);
System
.
out
.
println
(
secret
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
/**
*HMac-SHA256算法加密
* @param data
* @param key
* @return
* @throws Exception
*/
public
static
String
HMACSHA256
(
String
data
,
String
key
)
throws
Exception
{
Mac
sha256_HMAC
=
Mac
.
getInstance
(
"HmacSHA256"
);
SecretKeySpec
secret_key
=
new
SecretKeySpec
(
key
.
getBytes
(
"UTF-8"
),
"HmacSHA256"
);
sha256_HMAC
.
init
(
secret_key
);
byte
[]
array
=
sha256_HMAC
.
doFinal
(
data
.
getBytes
(
"UTF-8"
));
StringBuilder
sb
=
new
StringBuilder
();
for
(
byte
item
:
array
)
{
sb
.
append
(
Integer
.
toHexString
((
item
&
0xFF
)
|
0x100
).
substring
(
1
,
3
));
}
return
sb
.
toString
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment