Java程式員從笨鳥到菜鳥之(七十八)細談Spring(七)spring之JDBC訪問資料庫及配置詳解

來源:互聯網
上載者:User


         利用spring訪問資料庫是我們ssh程式中必不可少的步驟,在沒有hibernate之前,我們一般都用jdbc訪問資料庫,所以用jdbc訪問資料庫必不可少的要進行一些配置,spring中為我們提供了訪問資料庫的資料來源配置,配置完以後我們就可以很容易的利用jdbc對資料庫進行訪問了。下面我們就具體來看一下spring所支援的集中jdbc資料來源的配置:


在Sping的設定檔中,關於dataSource的配置,就我們常用的方法大致可以有三種:

  1、一般的配置方法,直接在配置中指定其值。具體的例子我們參照Mysql的配置如下:

 

<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>



 2.、通過讀取檔案資訊資源,其原理與方法一相同。樣本:

 

<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>   <!-- 這裡的值要通過${}進行轉義,其driverClassName參數要在上面的檔案中指定 -->  </property>  <property name="url">   <value>${url}</value>  </property>  <property name="username" value="${userName}"></property>  <property name="password" value="${userPwd}"></property> </bean>  3、通過資料連線池。在此我們只需指定jndiName的值為伺服器中配置的資料連線池的JNDI名稱即可。 <bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean">  <property name="jndiName" value="jdbc/mysql"></property> </bean>


在上述方法配置成功之後,我們可以通過JdbcTemplate把dataSource注入到JdbcTemplate裡面

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  <property name="dataSource">   <ref bean="datasource" />  </property> </bean>

配置完這些之後我們就可以利用JdbcTemplate來訪問資料庫了。利用JdbcTemplate訪問資料庫要比一般的jdbc訪問資料庫方便的多,也簡單的多,直接調用相關的訪問就OK了,也不用管什麼關閉和開啟連結。下面我們就以一個儲存使用者執行個體來簡單看一下JdbcTemplate的基本用法:

  

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 + "');");    }}


我們看一下在beans.xml中對userdao的基本配置:

<bean id="userDAO" class="com.demo.spring.dao.UserDAO">        <property name="jdbcTemplate">            <ref local="jdbcTemplate" />        </property>    </bean>


好了,這樣就可以利用spring給我們提供的API進行JDBC訪問資料庫了,這個知識點比較簡單,我們就先說到這。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.