JdbcTemplate使用SQL語句查詢

來源:互聯網
上載者:User

Class:

package com.jdsy.crscal.oper.service;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCallback;
import org.springframework.jdbc.core.RowMapper;

public class OperTicketService {

public List getFileName(){
  List list =  new ArrayList();
  String sql = "select filename, " +
    "operateman," +
    "operatetime, " +
    "count(0) total," +
    "sum(decode(sendflag, 1, 1, 0)) cls," +
    "sum(decode(sendflag, 1, 0, 1)) wcls " +
    "from oper_ticket where sendflag = 0 group by filename, operateman, operatetime";
  list = (List) getJdbcTemplate().query(sql, new RowMapper(){
   public Object mapRow(ResultSet rs, int index) throws SQLException {
    // TODO Auto-generated method stub
    Map map = new HashMap();
    map.put("fileName", rs.getString(1));
    map.put("operateMan", rs.getString(2));
    map.put("operateTime", rs.getString(3));
    map.put("total", rs.getString(4));
    map.put("", rs.getString(3));
    return map;
   }
    });
  
  return list;
 } 

}

 

Spring設定檔:

<bean id="operTicketService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager"/>
  </property>
  <property name="target">
   <bean class="com.jdsy.crscal.oper.service.OperTicketService">
    <property name="operTicketDAO">
     <ref bean="OperTicketDAO"/>
    </property>
    <property name="jdbcTemplate">
     <ref bean="jdbcTemplate"/>
    </property>
   </bean>
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="create*">PROPAGATION_REQUIRED</prop>
    <prop key="get*">PROPAGATION_REQUIRED</prop>
   </props>
  </property>
 </bean>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.