一、環境准備
1.1 導入JAR包
①IOC容器所需要的JAR包
commons-logging-1.1.1.jar
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
百度雲盤
鏈接:http://pan.baidu.com/s/1kUEwhwj
密碼:z3yt
②JdbcTemplate所需要的JAR包
spring-jdbc-4.0.0.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar
百度雲盤:
鏈接:http://pan.baidu.com/s/1o7VQUqY
密碼:dhwm
③數據庫驅動和數據源
c3p0-0.9.1.2.jar
mysql-connector-java-5.1.7-bin.jar
百度雲盤
鏈接:http://pan.baidu.com/s/1dEOHLO9
密碼:bjhw
二、 創建連接數據庫基本屬性文件
2.1 、jdbc.properties文件
jdbc.password=123456
jdbc.dirver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/login
initialPoolSize=30
minPoolSize=10
maxPoolSize=100
acquireIncrement=5
maxStatements=1000
maxStatementsPerConnection=10
2.2、屬性說明
初始連接數量:數據連接池創建以后,保存數據庫連接的數量(initialPoolSize)
最小空閑連接數:數據庫連接池最少得未使用的數據庫連接的數量 (minPoolSize)
最大空閑連接數:數據庫連接池最大閑置連接數,當閑置連接數滿了以后,將不會有其他連接進入池(maxPoolSize)
每次增加連接數:當數據庫連接都被占用以后,一次性增加的數據庫連接的個數(acquireIncrement)
最大連接數:數據庫連接池的最大容量,當最大連接數飽和了,則不再創建新的數據庫連接(maxStatements=)
最大等待時間:當數據庫連接池飽和以后,等待獲取數據庫連接的時間(maxStatementsPerConnection)
三、在Spring配置文件中配置相關bean
3.1 、數據源對象
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${user}"/>
<property name="password" value="${password}"/>
<property name="jdbcUrl" value="${jdbcUrl}"/>
<property name="driverClass" value="${driverClass}"/>
<property name="initialPoolSize" value="${initialPoolSize}"/>
<property name="minPoolSize" value="${minPoolSize}"/>
<property name="maxPoolSize" value="${maxPoolSize}"/>
<property name="acquireIncrement" value="${acquireIncrement}"/>
<property name="maxStatements" value="${maxStatements}"/>
<property name="maxStatementsPerConnection" value="${maxStatementsPerConnection}"/>
</bean>
3.2 、JdbcTemplate對象
<bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
四、持久化操作
4.1 、增刪改
JdbcTemplate.update(String, Object...)
4.2 、批量增刪改
JdbcTemplate.batchUpdate(String, List<Object[]>)
Object[]封裝了SQL語句每一次執行時所需要的參數
List集合封裝了SQL語句多次執行時的所有參數
4.3查詢多行
JdbcTemplate.queryForObject(String, RowMapper<Department>, Object...)
4.4查詢單一值
JdbcTemplate.queryForObject(String, Class, Object...)