hikri 和 druid
public class DButils {
//使用properti配置文件
@Test
public void test1() throws Exception{
//加载properties配置文件
Properties properties=new Properties();
properties.load(DButils.class.getClassLoader().getResourceAsStream("jdbc.properties"));
//获取配置文件中的数据
String username = properties.getProperty("mysql.username");
String password = properties.getProperty("mysql.password");
String url = properties.getProperty("mysql.url");
String drivername = properties.getProperty("mysql.drivername");
//2,3可以省略
//2.实例化Driver,可以省略,java中存在spi功能,自动扫描jar包下meta-INF下的services,
// 自动加载类
Class clazz = Class.forName(drivername);
Driver driver=(Driver) clazz.newInstance();
//3.注册驱动,可以省略,sql.Driver中已经写了这句
DriverManager.registerDriver(driver);
//获取连接
Connection connection = DriverManager.getConnection(url, username, password);
System.out.println(connection);
}
//使用xml配置文件
@Test
public void test2() throws Exception{
//使用dom4j加载xml文件
//new 一个SAXReader对象,加载配置文件,生成document对象
SAXReader saxReader=new SAXReader();
InputStream inputStream = DButils.class.getClassLoader().getResourceAsStream("jdbc.xml");
document document = saxReader.read(inputStream);
Element root = document.getRootElement();//获取根节点
//根据根节点获取子节点
String username = root.element("username").getTextTrim();
String password = root.element("password").getTextTrim();
String url = root.element("url").getTextTrim();
String drivername = root.element("drivername").getTextTrim();
//2,3可以省略
//2.实例化Driver,可以省略,java中存在spi功能,自动扫描jar包下meta-INF下的services,
// 自动加载类
Class clazz = Class.forName(drivername);
Driver driver=(Driver) clazz.newInstance();
//3.注册驱动,可以省略,sql.Driver中已经写了这句
DriverManager.registerDriver(driver);
//获取连接
Connection connection = DriverManager.getConnection(url, username, password);
System.out.println(connection);
}
//C3P0,DBCP数据库连接池已过时
//德鲁伊数据库连接池
@Test
public void Test3() throws Exception {
//初始化配置文件
Properties properties=new Properties();
properties.load(DButils.class.getClassLoader().getResourceAsStream("druidData.properties"));
//初始化德鲁伊数据库连接池
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.configFromPropety(properties);
//利用数据库连接池工厂类获取数据库连接池
DruidPooledConnection connection = druidDataSource.getConnection();
System.out.println(connection);
}
//hikari数据库连接池
@Test
public void Test4() throws Exception{
//初始化配置文件
Properties properties = new Properties();
properties.load(DButils.class.getClassLoader().getResourceAsStream("hikari.properties"));
//初始化hikari数据库连接池,1.初始化hikari配置 2.加载配置
HikariConfig hikariConfig = new HikariConfig(properties);
HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
//获取连接
Connection connection = hikariDataSource.getConnection();
System.out.println(connection);
}
}
jdbc.properties
mysql.username=root mysql.password=root mysql.url=jdbc:mysql://127.0.0.1:3306/stu mysql.drivername=com.mysql.jdbc.Driver
jdbc.xml
root root jdbc:mysql://127.0.0.1:3306/stu com.mysql.jdbc.Driver
public class MyDruidDataSource implements DataSourceFactory {
private Properties properties;
@Override
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
public DataSource getDataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.configFromPropety(properties);
return druidDataSource;
}
}
mybatis-config.xml



