- pom文件中引入依赖包(注意自己的项目jar包library里是否已经又Hutool的部分工具包,有的话要跟当前项目中的 Hutool 版本一致,否则会出现冲突,导致报错找不到方法。)
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.8</version>
</dependency>
- 因为我想后续可以方便修改数据库连接信息,所以在application.yml文件中加上自己的数据库连接信息(名字可以随意),后续就可以利用@ConfigurationProperties来读取外部取配置文件里的数据库信息了。
hutool-db:
dbPool:
lims:
url: 数据库连接
username: 用户名
password: 密码
- 创建一个数据库信息对象类,用于获取配置文件里的数据库信息,注意成员变量名要与yml里的一致
@Data
@Configuration
@ConfigurationProperties(prefix = "hutool-db")
public class HuToolDBSource {
public static Map dbPool;
/**
* 因为 @ConfigurationProperties 注解只能识别非静态的set方法,
* 且因为 @Data 方法不会给静态成员自动生成 set 和 get 方法,
* 所以需要手动声明非静态set方法,否则 @ConfigurationProperties 无法赋值
*/
public void setDbPool(Map dbPool) {
this.dbPool = dbPool;
}
}
- 测试
public static void main(String [] args) throws SQLException, ParseException {
SpringApplication.run(ApplicationEnter.class, args);
System.out.println("应用启动成功");
Map dbPool = HuToolDBSource.dbPool;
System.out.println("dbPool="+dbPool);
Map limsdb = (Map)dbPool.get("lims");
DataSource ds = new SimpleDataSource(limsdb.get("url").toString(),limsdb.get("username").toString(),limsdb.get("password").toString());
System.out.println(ds);
List<Entity> find = Db.use(ds).query("SELECT * FROM TEST_YUNSHU");
System.out.println(find);
DbUtil.close(ds.getConnection());
}
补充内容:
还有一种配置数据库连接信息的方法是在resources/config目录下,创建一个 db.setting 文件来记录数据库连接信息。
db.setting 文件里也可以配置多个数据库连接信息,[]的作用是可以对不同的数据库信息进行分组。使用这种方式进行配置的话,连接数据库的方法也不同。
使用上面那这种方式的话,连接数据库的方法如下,LIMS为上面配置文件的分组名:
DataSource ds = DSFactory.get("LIMS");