Spring JdbcTemplate 查詢方法中的RowMapper實現彙總
http://blog.chinaunix.net/uid-10018502-id-2972078.html
- 實現一、在內部建立內聯類實現RowMapper介面
- package hysteria.contact.dao.impl;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Types;
- import java.util.List;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.jdbc
- import hysteria.contact.dao.ItemDAO;
- import hysteria.contact.domain.Item;
- publicclass ItemDAOImpl implements ItemDAO {
- private JdbcTemplate jdbcTemplate;
- publicvoid setJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
- public Item insert(Item item) {
- String sql = "INSERT INTO items(user_id,name,phone,email) VALUES(?,?,?,?)";
- Object[] params = new Object[]{item.getUserId(),item.getName(),item.getPhone(),item.getEmail()};
- int[] types = newint[]{Types.INTEGER,Types.VARCHAR,Types.CHAR,Types.VARCHAR};
- jdbcTemplate.update(sql,params,types);
- return item;
- }
- public Item update(Item item) {
- String sql = "UPDATE items SET name = ?, phone = ?, email = ? WHERE id = ?";
- Object[] params = new Object[] {item.getName(),item.getPhone(),item.getEmail(),item.getId()};
- int[] types = newint[] {Types.VARCHAR,Types.CHAR,Types.VARCHAR,Types.VARCHAR,Types.INTEGER};
- jdbcTemplate.update(sql,params,types);
- return item;
- }
- publicvoid delete(Item item) {
- String sql = "DELETE FROM items WHERE id = ?";
- Object[] params = new Object[] {item.getId()};
- int[] types = newint[]{Types.INTEGER};
- jdbcTemplate.update(sql,params,types);
- }
- public Item findById(int id) {
- String sql = "SELECT * FROM items WHERE id = ?";
- Object[] params = new Object[] {id};
- int[] types = newint[] {Types.INTEGER};
- List items = jdbcTemplate.query(sql,params,types,new ItemMapper());
- if(items.isEmpty()){
- returnnull;
- }
- return (Item)items.get(0);
- }
- public List findAll() {
- String sql = "SELECT * FROM items";
- return jdbcTemplate.query(sql,new ItemMapper());
- }
- public List findAllByUser(int user_id) {
- String sql = "SELECT * FROM items WHERE user_id = ?";
- Object[] params = new Object[]{user_id};
- int[] types = newint[]{Types.INTEGER};
- List items = jdbcTemplate.query(sql,params,types,new ItemMapper());
- return items;
- }
- protectedclass ItemMapper implements RowMapper {
- public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
- Item item = new Item();
- item.setId(rs.getInt("id"));
- item.setUserId(rs.getInt("user_id"));
- item.setName(rs.getString("name"));
- item.setPhone(rs.getString("phone"));
- item.setEmail(rs.getString("email"));
- return item;
- }
- }
- }
相關推薦
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
Delphi中MD5實現方法(轉)
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