1. 程式人生 > >在Spring中JdbcTemplate中使用RowMapper

在Spring中JdbcTemplate中使用RowMapper

  Spring中JdbcTemplate中使用RowMapper

Spring中的RowMapper可以將資料中的每一行資料封裝成使用者自定義的類。我們在資料庫查詢中,如果返回的型別是使用者自定義的型別(其實我們在資料庫查詢中大部分返回的都是自定義的類)則需要包裝,如果是Java自定義的型別,如:String則不需要.如果spinghibernate相結合了,基本上是用不到,大多數都是在spring單獨使用時用到.

可以通過建立內部(外部)類實現RowMapper介面,RowMapper中有一個mapRow方法,所以實現RowMapper介面一定要實現mapRow方法,而對自定義類的包裝就在

mapRow方法中實現.

1.   package com.cxl.demo.dao;  

2.     

3.   import java.sql.ResultSet;  

4.   import java.sql.SQLException;  

5.   import java.util.List;  

6.   import org.springframework.jdbc.core.JdbcTemplate;  

7.   import org.springframework.jdbc.core.RowMapper;  

8.   import com.cxl.demo.entity.User;  

9.   public class UserDaoImpl {  

10.      private JdbcTemplate jdbcTemplate;  

11.    

12.      public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  

13.          this.jdbcTemplate = jdbcTemplate;  

14.      }  

15.    

16.      public List<User> getUserByName(String username) {  

17.          String sql = "select * from t_user where username = ?"

;  

18.          Object[] params = new Object[] { username };  

19.          List<User> users = null;  

20.          /** 

21.           * 使用介面實現類 

22.           */  

23.          users = jdbcTemplate.query(sql, params, new UserRowMapper());  

24.          /** 

25.           * 使用匿名內部類 

26.           * 如果UserRowMapper類只使用一次,單獨為其建立一個類多餘,可以使用匿名類 

27.           * 省略了書寫一個實現類 

28.           */  

29.          users = jdbcTemplate.query(sql, params,  

30.                  new RowMapper<User>() {  

31.                      @Override  

32.                      public User mapRow(ResultSet rs, int rowNum) throws SQLException {  

33.                          User user = new User();  

34.                          user.setId(rs.getInt("id"));  

35.                          user.setUsername(rs.getString("username"));  

36.                          user.setPassword(rs.getString("password"));  

37.                          return user;  

38.                      }  

39.                  });  

40.          return (users != null && users.size() > 0) ? users : null;  

41.      }  

42.        

43.      public class UserRowMapper implements RowMapper<User> {  

44.    

45.          @Override  

46.          public User mapRow(ResultSet rs, int rowNum) throws SQLException {  

47.              User user = new User();  

48.              user.setId(rs.getInt("id"));  

49.              user.setUsername(rs.getString("username"));  

50.              user.setPassword(rs.getString("password"));  

51.              return user;  

52.          }  

53.            

54.      }  

55.  }  

相關推薦

SpringJdbcTemplate使用RowMapper

mapr bsp demo except pla map tin package not Spring中JdbcTemplate中使用RowMapper 博客分類: spring Java代碼 package com.cxl.demo.dao;

SpringJdbcTemplate使用RowMapper

  Spring中JdbcTemplate中使用RowMapper Spring中的RowMapper可以將資料中的每一行資料封裝成使用者自定義的類。我們在資料庫查詢中,如果返回的型別是使用者自定義的

SpringjdbcTemplate的用戶實例

ica led .class context service ont ram address 用戶 1、首先配置JdbcTemplate 在 Spring 的 IOC 容器中配置一個 JdbcTemplate 的 bean,將 DataSource(使用第三方數據源c3p0

SSM-Spring-19:SpringJdbcTemplate

beans 接下來 連接數 repo 替換 類的方法 數據源 img println ------------吾亦無他,唯手熟爾,謙卑若愚,好學若饑------------- Spring自帶一個ORM持久化框架JdbcTemplate,他可以說是jdbc的加強

Spring BootJdbcTemplate

Spring Boot中JdbcTemplate 1. pom.xml 2. application.properties 3. JdbcTemplate JdbcTemplate多資料 1.application.properties

JdbcTemplateRowMapper的粗淺理解

這篇部落格適合第一次使用RowMapper的初學者: RowMapper對映Bean容器的用法 RowMapper對映取整張表資料的用法 RowMapper對映Bean容器的用法 這大概是使用最頻繁的用法,甚至也是唯一真正實用的方法。 class UserRowMapper impleme

Spring框架JdbcTemplate類的查表功能演示(基於Druid連線池)

    將資料庫行記錄轉為已知類的實現物件的思路,作為一個java後端程式設計師的基本修養,必須掌握,現舉其中一例: 步驟: 1.首先需要配置 Druid(阿里巴巴) 連線池環境,寫好工具類JDBCUtilsDruid,不再贅述; 2.配置Spring框架環

Spring原始碼之JdbcTemplate的坑

我們平常用JdbcTemplate最多的還是query()方法和queryForObject()方法。同樣,其中還有一個使用最多的是BeanPropertyRowMapper。 但是,在JdbcTemplate.queryForObject()中有一個很不起眼的坑,BeanPropertyRow

spring jdbcTemplate獲取jdbc Connection並執行操作

實際應用例子在專案中需要獲取資料庫中元資料相關資訊,比如表名,欄位名,長度等jdbcTemplate 可以通過SqlRowSetMetaData 可以獲取到部分元資料,但是不能獲取備註資訊(comment中的內容) 已經有jdbcTemplate物件,只需要通過jd

springJdbcTemplate的queryForObject(String sql, Class requiredType, Object... args)方法

1.今天使用JdbcTemplate中的queryForObject(String sql, Class<T> requiredType, Object... args)方法時總是報以下錯誤 org.springframework.dao.EmptyResult

springjdbctemplate的使用,crud操作

package com.swt.test; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; /** * jdbctemplate對資料庫的正刪改撒 */ im

2018.12.25 SpringJDBCTemplate模版API學習

1 Spring整合JDBC模版 1.1 spring中土拱了一個可以操作資料庫的物件。物件封裝了jdbc技術 JDBCTemplateJDBC模板物件 1.2 與DBUtils中的QueryRunner非常相似 1.3 準備工作 1.導包 4+2 基礎包+日誌包。 junit5+spri

spring 4.2.0後jdbcTemplate不用queryForLong了(之系統升級發現)

在spring 3.2.2之後,jdbcTemplate.queryForInt已經被取消了! 原來是這樣寫的: Java程式碼  String sql = "SELECT count(*) FROM USERS WHERE username = ?";

SpringjdbcTemplate的用法例項(一)

一、首先配置JdbcTemplate; 要使用Jdbctemplate 物件來完成jdbc 操作。通常情況下,有三種種方式得到JdbcTemplate 物件。        第一種方式:我們可以在自己定義的DAO 實現類中注入一個DataSource 引用來完 成Jdbc

SpringjdbcTemplate的應用 一

一、首先配置JdbcTemplate; 要使用Jdbctemplate 物件來完成jdbc 操作。通常情況下,有三種種方式得到JdbcTemplate 物件。        第一種方式:我們可以在自己定義的DAO 實現類中注入一個DataSource 引用來完 成JdbcT

Spring core resourc層結構體系及JDK與Spring對classpath資源的獲取方式及結果對比

資源 相關 add blog height back 獲取 img com 1. Spring core resourc層結構體系 1.1. Resource相關結構體系 1.2. ResourceLoader相關體系 2. JDK與Spring對cla

通過Spring配置文件bean的property賦值

pla 綁定 cli 原因 對象賦值 art contex start nbsp 基本數據類型賦值-通過spring配置文件中bean中的property 擴展-以此方式可以通過配置為連接數據的屬性賦值 1、如果是基本數據類型,可以通過setter方法為對象中的屬性設置初始

spring+struts2+mybatispoi導入excel數據

href rst var dao operation chan ide ffi ram 1、html <td class="queryTdRight" style="width:22%;">&nbsp;&nbsp;交易年度: <inp

Maven+Spring+SpringMVC+Mybatis的常見錯誤

tis ntc nes nec nag ttpClient uil uestc alt 1 org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘us

spring 代碼獲取ApplicationContext(@AutoWired,ApplicationListener)

原創 dev 是否 {} 展示 text 成了 over del 2017年度全網原創IT博主評選活動投票:http://www.itbang.me/goVote/234 學習spring框架時間不長,一點一滴都得親力親為。今天忽然覺得老是通過@Autowired自