Commit 61f4c1ea by yanru

增加拦截器、跨域、页面跳转的配置

parent 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);
}
}
......@@ -18,7 +18,7 @@ import java.util.List;
* @Date 2020/9/318:49
*/
@Configuration
public class DefaultViewConfig implements WebMvcConfigurer {
public class WebMvcConfig implements WebMvcConfigurer {
/**
* 页面跳转
......
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());//转大写
}
}
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&timestamp=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();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment