配置文件
<!--导入context命名空间 -->
<context:property-placeholder location="classpath:db.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<!-- 使用外部文件属性 -->
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${password}"></property>
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
</bean>
错误提示信息
Exception in thread "main" java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user '**'@'localhost' (using password: YES))
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2294)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
at com.hl.bean.dao.Main.main(Main.java:16)
jdbc.username=root
password=******
driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/text?characterEncoding=utf8&allowMultiQueries=true
原因:
在数据库的属性配置文件db.properties
中属性名(username、url等)可能和数据库表中冲突,最好使用唯一标识。