spring mvc +jdbctemplate 返回多表查询List<Bean>

发现 hibernate做多表查询 是忒麻烦了 
Spring JDBC提供了一个BeanPropertyRowMapper的实现,能够自动将数据库表中读出的字段与Domain对象的属性进行映射 

果断用 jdbctemplate啊 下面 说下方法 
首先 在dao里 注入下 
@Autowired 
public JdbcTemplate jdbcTemplate; 

然后在springappplication.xml里 配置下 
<!-- jdbc注入 -->  
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">   
         <property name="dataSource">   
             <ref bean="dataSource" />   
         </property>   
     </bean>   

然后建立一个符合自己业务的bean 

然后写dao方法 
Java代码   收藏代码
  1. public List<GoodsListBean> findGoodsListBean(String goodsnum, Integer vmid,  
  2.         Integer omid, String rusjstart, String rusjend) throws Exception {  
  3.     // if (userid == null) {  
  4.     // return new ArrayList<PusMenu>();  
  5.     // }  
  6.     StringBuilder sbstr = new StringBuilder(  
  7.             "SELECT g.*,u.name acceptancename,c.name companyname,vm.name vmname"  
  8.                     + " ,om.name omname,cc.name contactsname FROM goods g,pus_sys_user u,companyinfors c "  
  9.                     + " ,variety_management vm,origin_management om ,companycontacts cc WHERE g.acceptanceid=u.id"  
  10.                     + " AND g.companyid=c.id AND g.vmid=vm.id AND g.omid=om.id "  
  11.                     + " AND g.contactsid=cc.id AND g.state=1");  
  12.   
  13.     List<GoodsListBean> list = jdbcTemplate.query(sbstr.toString(), new BeanPropertyRowMapper(GoodsListBean.class));  
  14.     return list;  
  15. }  


最后把这个list直接丢到easyui的rows里就好了 

Java代码   收藏代码
  1. List<GoodsListBean> listg=new ArrayList<GoodsListBean>();  
  2.         //List<GoodsListBean> listgend=new ArrayList<GoodsListBean>();  
  3.         try {  
  4.             listg=goodsDao.findGoodsListBean(goodsnum, vmid, omid,rusjstart, rusjend);  
  5.         } catch (Exception e1) {  
  6.             // TODO Auto-generated catch block  
  7.             e1.printStackTrace();  
  8.             logger.error("货物查询异常", e1);  
  9.             listg=new ArrayList<GoodsListBean>();  
  10.         }  
  11.         mapjson.put(  
  12.                 "rows",  
  13.                 listg);  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值