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

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("&#x00","&#x01","&#00","&#01","&#");
}