1. 程式人生 > >Spring JdbcTemplate 查詢方法中的RowMapper實現彙總

Spring JdbcTemplate 查詢方法中的RowMapper實現彙總

http://blog.chinaunix.net/uid-10018502-id-2972078.html

  1. 實現一、在內部建立內聯類實現RowMapper介面   
  2. package hysteria.contact.dao.impl;   
  3. import java.sql.ResultSet;   
  4. import java.sql.SQLException;   
  5. import java.sql.Types;   
  6. import java.util.List;   
  7. import org.springframework.jdbc.core.JdbcTemplate;   
  8. import org.springframework.jdbc
    .core.RowMapper;   
  9. import hysteria.contact.dao.ItemDAO;   
  10. import hysteria.contact.domain.Item;   
  11. publicclass ItemDAOImpl implements ItemDAO {   
  12. private JdbcTemplate jdbcTemplate;   
  13. publicvoid setJdbcTemplate(JdbcTemplate jdbcTemplate) {   
  14. this.jdbcTemplate = jdbcTemplate;   
  15. }   
  16. public Item insert(Item item) {   
  17.    String sql = "INSERT INTO items(user_id,name,phone,email) VALUES(?,?,?,?)";   
  18.    Object[] params = new Object[]{item.getUserId(),item.getName(),item.getPhone(),item.getEmail()};   
  19. int[] types = newint[]{Types.INTEGER,Types.VARCHAR,Types.CHAR,Types.VARCHAR};   
  20.    jdbcTemplate.update(sql,params,types);   
  21. return item;   
  22. }   
  23. public Item update(Item item) {   
  24.    String sql = "UPDATE items SET name = ?, phone = ?, email = ? WHERE id = ?";   
  25.    Object[] params = new Object[] {item.getName(),item.getPhone(),item.getEmail(),item.getId()};   
  26. int[] types = newint[] {Types.VARCHAR,Types.CHAR,Types.VARCHAR,Types.VARCHAR,Types.INTEGER};   
  27.    jdbcTemplate.update(sql,params,types);   
  28. return item;   
  29. }   
  30. publicvoid delete(Item item) {   
  31.    String sql = "DELETE FROM items WHERE id = ?";   
  32.    Object[] params = new Object[] {item.getId()};   
  33. int[] types = newint[]{Types.INTEGER};   
  34.    jdbcTemplate.update(sql,params,types);   
  35. }   
  36. public Item findById(int id) {   
  37.    String sql = "SELECT * FROM items WHERE id = ?";   
  38.    Object[] params = new Object[] {id};   
  39. int[] types = newint[] {Types.INTEGER};   
  40.    List items = jdbcTemplate.query(sql,params,types,new ItemMapper());   
  41. if(items.isEmpty()){   
  42. returnnull;   
  43.    }   
  44. return (Item)items.get(0);   
  45. }   
  46. public List findAll() {   
  47.    String sql = "SELECT * FROM items";   
  48. return jdbcTemplate.query(sql,new ItemMapper());   
  49. }   
  50. public List findAllByUser(int user_id) {   
  51.    String sql = "SELECT * FROM items WHERE user_id = ?";   
  52.    Object[] params = new Object[]{user_id};   
  53. int[] types = newint[]{Types.INTEGER};   
  54.    List items = jdbcTemplate.query(sql,params,types,new ItemMapper());   
  55. return items;   
  56. }   
  57. protectedclass ItemMapper implements RowMapper {   
  58. public Object mapRow(ResultSet rs, int rowNum) throws SQLException {   
  59.     Item item = new Item();   
  60.     item.setId(rs.getInt("id"));   
  61.     item.setUserId(rs.getInt("user_id"));   
  62.     item.setName(rs.getString("name"));   
  63.     item.setPhone(rs.getString("phone"));   
  64.     item.setEmail(rs.getString("email"));   
  65. return item;   
  66.    }   
  67. }   
  68. }  

相關推薦

Spring JdbcTemplate 查詢方法RowMapper實現彙總

http://blog.chinaunix.net/uid-10018502-id-2972078.html 實現一、在內部建立內聯類實現RowMapper介面    package hysteria.contact.dao.impl;    import java.

spring jdbcTemplate查詢使用

ger emp template result 結果類型 指定 str rowset sele 1.查詢一行數據並返回int型結果 jdbcTemplate.queryForInt("select count(*) from test"); 2. 查詢一行數據並將該行數

Spring JdbcTemplate 查詢出的Map,是如何產生大小寫忽略的Key的?

Java 是區分大小寫的,普通的Map例如HashMap如果其中的key="ABC" value="XXX"那麼map.get("Abc") 或 map.get("abc")是獲取不到值得。但Spring中產生了一個忽略大小寫的map使我產生了好奇例如 jdbcTempla

Spring JdbcTemplate 查詢結果集Map反向生成Java實體

以前寫過一篇文章吐槽過Spring JdbcTemplate的queryForList方法(參見:http://blog.csdn.net/will_awoke/article/details/12617383),因為這個方法只支援單資料型別泛型實體,而想返回自定義實體時

JAVA反射實現JdbcTemplate查詢方法 返回的結果集自動封裝成對應的JAVABean對象

block ada declare object execute pla conn list() 語句 將JdbcTemplate中查詢方法返回的結果集自動封裝成對應的JAVABean對象 只能查詢單張表的數據 封裝到對應的JAVABean對象中 查詢的列數隨意 可以不

Spring在web應用獲得Bean的方法 實現getBean方法

1.新建類,並實現 org.springframework.context.ApplicationContextAware 介面. package com.abc.framework.util; import org.springframework.beans.BeansExc

單元測試被spring管理的類(如service實現類)的私有方法

目標 ServiceImpl類中有一個私有方法MethodA,而ServiceImpl是被spring管理的,該類中有一些用@Autowired注入的依賴項,因此不能直接new來建立它的例項,需要通過spring來建立它的例項,那麼該怎麼測試該私有方法呢? 方案 測試類 pu

PHP查詢資料庫滿足條件的記錄條數(兩種實現方法)

第一種方法:查詢時候直接統計  複製程式碼 程式碼如下: $sql="SELECT COUNT(*) AS count FROM TABLE WHERE id='$id'";  $result=mysql_fetch_array(mysql_query($sql));  $count=$result['cou

spring注入的方式實現靜態方法使用非靜態變數

實現靜態方法中使用非靜態變數 程式碼示例: public class TestClass{   private SystemConfig config;   private static TestClass test;   public TestClass()

spring aop實現類似代理類和類方法(註解實現

1.可以指定aop的執行次序 [email protected],可以攔截類上有@DataSource註解的類中的所有方法 [email protected]可以攔截有註解@DataSource的方法 4.兩者結合可以實現類似Spring註解

使用JDBCTemplate實現Spring結合,方法公用 ——Spring配置(applicationContext.xml)

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema

spring jdbcTemplate 使用佔位符(?)的query方法進行多表查詢

1 在spring 的配置檔案中applicationContext.xml中,配置service,dao.(前臺使用的是flex,把flex也配置上了。) <bean id="busSuperCapityAnalyDao" class="com.tm.dao.imp

DelphiMD5實現方法(轉)

file 單元 ava sender shm md5 文章 files admin 原來寫過一個計算MD5的程序,是用了一個叫MD5.pas的單元,使用起來還算簡單,但還有更簡單的辦法,安裝了indy就會有IdHashMessageDigest單元(delphi 7默認安裝

Spring AOP高級——源碼實現(2)Spring AOP通知器(Advisor)與切面(Aspect)

color oaf 小麻煩 ntc tro sta ins pack package 本文例子完整源碼地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/Spring%20AO

IIS https綁定主機頭方法(可實現禁止直接通過IP訪問,好像還可以實現IIS綁定多個https<是使用多個單域名證書,非多域名證書>)

多個 nbsp app for iis 直接 fig protoc eight 步驟: 打開:%systemroot%\SYSTEM32\inetsrv\config\ 打開:applicationHost.config 查找:<binding protocol="

java 異步查詢轉同步多種實現方式:循環等待,CountDownLatch,Spring Even

null line [] 返回 編寫 nal books ans 異步查詢 異步轉同步 業務需求 有些接口查詢反饋結果是異步返回的,無法立刻獲取查詢結果。 正常處理邏輯 觸發異步操作,然後傳遞一個唯一標識。 等到異步結果返回,根據傳入的唯一標識,匹配此次結果。 如何轉

Java學習——方法傳遞參數分簡單類型與復雜類型(引用類型)編程計算100+98+96+。。。+4+2+1的值,用遞歸方法實現

dig oid 傳遞 system alt style 類型 遞歸 gen package hello; public class digui { public static void main(String[] args) { /

django前端檢視與新增在同一個views方法實現

1,前端樣式: 2.html程式碼 {% load staticfiles %} <p class="text-right"><button class="btn btn-primary" id="add_column" onclick="add_column

spring boot jpa之 流式查詢 @Query定義查詢方法

按照方法名來定義查詢方法的形式,只適用於單表的一兩個欄位,那種複雜的查詢,還要自己寫sql語句,也就是@Query定義查詢方法 @Query(value=" 這裡就是查詢語句") @Query支援hql和原生sql兩種方式,預設是hql  ,hql就是語句中用的是實體名字和實體屬性

在單獨的main方法執行spring 管理的類方法

import org.apache.commons.lang3.RandomStringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.con