利用spring訪問數(shù)據(jù)庫是我們ssh程序中必不可少的步驟,在沒有hibernate之前,我們一般都用jdbc訪問數(shù)據(jù)庫,所以用jdbc訪問數(shù)據(jù)庫必不可少的要進行一些配置,spring中為我們提供了訪問數(shù)據(jù)庫的數(shù)據(jù)源配置,配置完以后我們就可以很容易的利用jdbc對數(shù)據(jù)庫進行訪問了。下面我們就具體來看一下spring所支持的集中jdbc數(shù)據(jù)源的配置:
在Sping的配置文件中,關(guān)于dataSource的配置,就我們常用的方法大致可以有三種:
??1、一般的配置方法,直接在配置中指定其值。具體的例子我們參照MySQL的配置如下:
?
[html]?view plaincopy print?
<span?style="font-size:18px;"><bean???id="datasource"?class="org.springframework.jdbc.datasource.DriverManagerDataSource">?? ??<property?name="driverClassName">?? ?com.mysql.jdbc.Driver?? ??</property>?? ??<property?name="url">?? ??dbc:mysql://localhost:3306/dataBase?? ??</property>?? ??<property?name="username"?value="root"></property>?? ??<property?name="password"?value="root"></property>?? ?</bean></span>??
?2.、通過讀取文件信息資源,其原理與方法一相同。示例:
?
[html]?view plaincopy print?
<span?style="font-size:18px;"><bean???id="preferences"?class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">?? ??<property?name="location">?? ???<value>/WEB-INF/files.properties</value>??? ??</property>?? ?</bean>?? ?<bean????id="datasource"?class="org.springframework.jdbc.datasource.DriverManagerDataSource">?? ??<property?name="driverClassName">?? ???<value>${driverClassName}</value>????? ??</property>?? ??<property?name="url">?? ???<value>${url}</value>?? ??</property>?? ??<property?name="username"?value="${userName}"></property>?? ??<property?name="password"?value="${userPwd}"></property>?? ?</bean>?? ??3、通過數(shù)據(jù)連接池。在此我們只需指定jndiName的值為服務(wù)器中配置的數(shù)據(jù)連接池的JNDI名稱即可。?? ?<bean????id="datasource"?class="org.springframework.jndi.JndiObjectFactoryBean">?? ??<property?name="jndiName"?value="jdbc/mysql"></property>?? ?</bean></span>??
在上述方法配置成功之后,我們可以通過JdbcTemplate把dataSource注入到JdbcTemplate里面
[html]?view plaincopy print?
<span?style="font-size:18px;">?<bean??id="jdbcTemplate"?class="org.springframework.jdbc.core.JdbcTemplate">?? ??<property?name="dataSource">?? ???<ref?bean="datasource"?/>?? ??</property>?? ?</bean></span>??
配置完這些之后我們就可以利用JdbcTemplate來訪問數(shù)據(jù)庫了。利用JdbcTemplate訪問數(shù)據(jù)庫要比一般的jdbc訪問數(shù)據(jù)庫方便的多,也簡單的多,直接調(diào)用相關(guān)的訪問就OK了,也不用管什么關(guān)閉和打開鏈接。下面我們就以一個保存用戶實例來簡單看一下JdbcTemplate的基本用法:
??
[java]?view plaincopy print?
<span?style="font-size:18px;">public?class?UserDAO?{?? ????private?JdbcTemplate??jdbcTemplate;?? ????public?DataSource?getJdbcTemplate()?{?? ????????return?jdbcTemplate;?? ????}?? ????public?void?setJdbcTemplate(JdbcTemplate??jdbcTemplate)?{?? ????????this.jdbcTemplate=?jdbcTemplate;?? ????}?? public?void?insertUser(User?user)?{?? ????????String?username?=?user.getUsername();?? ????????String?password?=?user.getPassword();?? ???????String?email?=?user.getEmail();?? ?????jdbcTemplate.update("insert?into?user(username,password,email)?values?('"?? ????????????????+?username?+?"','"?+?password?+?"','"?+?email?+?"');");?? ????}?? }?? </span>??
我們看一下在beans.xml中對userdao的基本配置:
[html]?view plaincopy print?
<span?style="font-size:18px;color:#0000cc;"><bean?id="userDAO"?class="com.demo.spring.dao.UserDAO">?? ????????<property?name="jdbcTemplate">?? ????????????<ref?local="jdbcTemplate"?/>?? ????????</property>?? ????</bean></span>??
好了,這樣就可以利用spring給我們提供的API進行JDBC訪問數(shù)據(jù)庫了,這個知識點比較簡單,我們就先說到這。
from:?http://blog.csdn.net/csh624366188/article/details/7658256
總結(jié)
以上是生活随笔為你收集整理的Java程序员从笨鸟到菜鸟之(七十八)细谈Spring(七)spring之JDBC访问数据库及配置详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。