You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
46 lines
1.3 KiB
package com.insigma.utils;
|
|
|
|
import cn.hutool.db.Session;
|
|
import cn.hutool.db.ds.simple.SimpleDataSource;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
import javax.sql.DataSource;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
|
|
/**
|
|
* (DbUtil 类)
|
|
*
|
|
* @author zhangxianwei
|
|
* @since 15:18 2022/4/18
|
|
*/
|
|
public class DbUtil {
|
|
|
|
private static DataSource ds;
|
|
public static String url;
|
|
public static String usr;
|
|
public static String pwd;
|
|
public static String drive;
|
|
|
|
public static Session getSession(String url, String usr, String pwd, String drive) {
|
|
if(Objects.isNull(ds)){
|
|
DbUtil.url = url;
|
|
DbUtil.usr = url;
|
|
DbUtil.pwd = url;
|
|
DbUtil.drive = drive;
|
|
ds = new SimpleDataSource(isDb(url), usr, pwd, drive);
|
|
}
|
|
return Session.create(ds);
|
|
}
|
|
|
|
private static final String MYSQL = "jdbc:mysql";
|
|
private static String isDb(String url){
|
|
if(StringUtils.startsWithIgnoreCase(url, MYSQL)){
|
|
url += "?useUnicode=true&characterEncoding=utf8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
|
|
}
|
|
return url;
|
|
}
|
|
|
|
public static final List<String> RUBBISH = Arrays.asList("�","","�","","&#");
|
|
}
|
|
|