前几天在实习改项目时,发现那个项目里面我怎么都找不到数据连接的用户名,密码之类,当时内心就崩溃了,经过后面的百度和问同事,最后看到了这么一段配置
<jdbc:embedded-database id="dataSource">
<jdbc:script location="classpath:database/hsqldb-schema.sql" />
<jdbc:script location="classpath:database/hsqldb-dataload.sql" />
</jdbc:embedded-database>
这是一个内存数据库在spring中的配置,这种配置方式一般下面会有个jdbc:script来引用sql文件的,每次服务器启动后,程序会先按先后顺序执行这些sql文件,注意(这个sql文件位置一定要把表结构放在最前面,表里面的数据放在表结构文件后面),同时,这种内存数据库它也是可以持久化,只是它把持久化的数据存在的一个特定位置中的文件中,当它重启服务器后又能恢复数据。下面我们将这个配置变成一个mysql数据库连接的配置
<!--将数据库连接的信息引用进来-->
<context:property-placeholder location="classpath:*.properties"/>
<!-- 使用mysql数据库 这个连接池我用的是dbcp的-->
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
下面是jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ecp
jdbc.username=root
jdbc.password=root
然后就是jar文件了,由于我们之前没有用mysql这种数据库,所以我们的pom文件中没有mysql及相关驱动的jar包,现在我给它加上
<!-- 导入Mysql数据库连接jar包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<!-- 导入dbcp的jar包,用来配置数据库连接池 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.6</version>
</dependency>