91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單介紹SpringJDBC模板

Spring所提供的JDBC抽象框架由四個不同的包組成:

創(chuàng)新互聯(lián)服務(wù)項目包括天峨網(wǎng)站建設(shè)、天峨網(wǎng)站制作、天峨網(wǎng)頁制作以及天峨網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,天峨網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到天峨省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

◆核心包包含JdbcTemplate。這個類是一個基礎(chǔ)類之一-由Spring框架的JDBC支持提供并使用。

◆數(shù)據(jù)源包是實現(xiàn)單元測試數(shù)據(jù)庫存取代碼的重要的一部分。它的DriverManagerDataSource能夠以一種類似于你已經(jīng)習(xí)慣于JDBC中的用法:只要創(chuàng)建一個新的DriverManagerDataSource并且調(diào)用setter方法來設(shè)置DriverClassName,Url,Username和Password。

◆對象包中包含類,用于描述RDBMS查詢、更改和存儲過程為線程安全的、可重用的對象。

◆支持包-你可以從這里找到SQLException翻譯功能和一些工具類。

1)Spring JDBC模板設(shè)計模式

Spring JDBC實現(xiàn)模板設(shè)計模式,這意味著,代碼中的重復(fù)的復(fù)雜的任務(wù)部分是在模板類中實現(xiàn)的。這種方式簡化了JDBC的使用,因為由它來處理資源的創(chuàng)建和釋放。這有助于避免普通錯誤,例如忘記關(guān)閉連接等。它執(zhí)行核心JDBC工作流任務(wù),如語句創(chuàng)建和執(zhí)行,而讓應(yīng)用程序代碼來提供SQL并且提取結(jié)果。

2)Spring JDBC異常處理

Spring框架特別強(qiáng)調(diào)在傳統(tǒng)型JDBC編程中所面臨的與下列方案有關(guān)的問題:

◆Spring提供一個抽象異常層,把冗長并且易出錯誤的異常處理從應(yīng)用程序代碼移到由框架來實現(xiàn)??蚣茇?fù)責(zé)所有的異常處理;應(yīng)用程序代碼則能夠?qū)W⒂谑褂眠m當(dāng)?shù)腟QL提取結(jié)果。

◆Spring提供了一個重要的異常類層次,以便于你的應(yīng)用程序代碼中可以使用恰當(dāng)?shù)腟QLException子類。

借助于一個抽象異常層,我們成功地實現(xiàn)了數(shù)據(jù)庫獨立性而不必改變異常處理。例如,如果你把你的數(shù)據(jù)庫從PostgreSQL改變?yōu)镺racle,那么你不必把異常處理從OracleDataException改變到PostgresDataException。Spring能夠捕獲應(yīng)用程序服務(wù)器特定的異常并拋出一個Spring數(shù)據(jù)異常。

當(dāng)處理異常時,Spring檢查來自一個數(shù)據(jù)庫連接的元數(shù)據(jù)可用性以決定數(shù)據(jù)庫產(chǎn)品。它使用這種知識來把SQLException映射到其自己異常層次中的具體的異常上。因此,我們不需要擔(dān)心專門性的SQL狀態(tài)或錯誤代碼問題;Spring的數(shù)據(jù)存取異常不是JDBC特定的,因此你的DAO不必綁定到JDBC(由于其可能拋出的異常)。

四.Spring JDBC模板示例

在下面兩個列表中,我們將使用前面用傳統(tǒng)型JDBC實現(xiàn)的業(yè)務(wù)邏輯為例并且展示使用Spring JDBC版本是多么容易。首先,我們從一個簡單的接口開始。

接口:

 
 
 
  1. importjava.util.List;
  2. publicinterfaceTasksDAO{
  3. publicListgetTasksNames();
  4. }

接口實現(xiàn)類:

 
 
 
  1. importjava.sql.ResultSet;
  2. importjava.sql.SQLException;
  3. importjava.util.Iterator;
  4. importjava.util.List;
  5. importjavax.sql.DataSource;
  6. importorg.springframework.context.ApplicationContext;
  7. importorg.springframework.context.support.ClassPathXmlApplicationContext;
  8. importorg.springframework.jdbc.core.JdbcTemplate;
  9. importorg.springframework.jdbc.core.RowMapper;
  10. importorg.springframework.jdbc.core.support.JdbcDaoSupport;
  11. /**
  12. *wangzyspringjdbcTemplate
  13. *@authorAdministrator
  14. *
  15. */
  16. publicclassTasksJdbcDAOextendsJdbcDaoSupportimplementsTasksDAO
  17. {
  18. publicListgetTasksNames(){
  19. JdbcTemplatejt=getJdbcTemplate();//獲取Spring JDBC模板
  20. returnjt.query("selectUSERNAME,PASSWORDfromuserinfo",newTasksRowMapper());
  21. }
  22. //繼承了sping,封裝好的接口RowMapper
  23. classTasksRowMapperimplementsRowMapper{
  24. publicObjectmapRow(ResultSetrs,intindex)throwsSQLException{
  25. returnrs.getString(1);}//獲取列數(shù)
  26. }
  27. publicstaticvoidmain(String[]args)throwsException{
  28. ApplicationContextctx=newClassPathXmlApplicationContext("applicationContext.xml");//獲取sping配置文件地址
  29. DataSourceds=(DataSource)ctx.getBean("dataSourceDBDirect");//獲取數(shù)據(jù)源
  30. TasksJdbcDAOtaskDao=newTasksJdbcDAO();
  31. taskDao.setDataSource(ds);
  32. IteratortskIter=taskDao.getTasksNames().iterator();//提取數(shù)據(jù),循環(huán)遍歷
  33. while(tskIter.hasNext()){
  34. System.out.println(tskIter.next().toString());
  35. }
  36. }
  37. }

appliactiong:(src下)

 
 
 
  1. <beanidbeanid="dataSourceDBDirect"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  2. <propertynamepropertyname="driverClassName"value="com.mysql.jdbc.Driver"> property>
  3. <propertynamepropertyname="url"value="jdbc:mysql://localhost:3306/userinfo"> property>
  4. <propertynamepropertyname="username"value="root"> property>
  5. <propertynamepropertyname="password"value="root"> property>
  6. bean>

本文名稱:簡單介紹SpringJDBC模板
標(biāo)題網(wǎng)址:http://m.jiaoqi3.com/article/cojppee.html