博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis调用视图和存储过程
阅读量:7230 次
发布时间:2019-06-29

本文共 1416 字,大约阅读时间需要 4 分钟。

 

    现在的项目是以Mybatis作为O/R映射框架,确实好用,也非常方便项目的开发。MyBatis支持普通sql的查询、视图的查询、存储过程调用,是一种非常优秀的持久层框架。它可利用简单的XML或注解用语配置和原始映射,将接口和java中的POJO映射成数据库中的纪录。

 

一.调用视图

如下就是调用视图来查询收益明细,sql部分如下:

1
2
3
4
5
6
<!-- 获取明细 -->
<select id =
"getContactEarnsDetail"
resultType=
"java.util.Map"
parameterType =
"java.lang.Integer"
>
      
select
           
title,trade_time,trade_amount
      
from v_contacts_earn where  user_id = #{userId}
</select >

 该视图返回的数据类型为map。

mapper部分如下:

1
List<Map<String, Object>> getContactEarnsDetail(Integer userId);

 接口部分如下:

List
> getContactEarnsDetail(Integer userId);

实现如下:

@Override     public List
> getContactEarnsDetail(Integer userId) { Assert. notNull(userId); return contactEarnsMapper.getContactEarnsDetail(userId); }

如上例所示,调用视图如同调用正常的sql查询语句一般。

 

二.调用存储过程

调用存储过程可能还会有返回结果集,在这里我主要针对返回结果集的情况进行阐述。

(1)含有返回结果集

如存储过程结构如下:

p_my_wallet(IN var_user_id INT);参数是用户idrevenue_today   今日收益revenue_contacts  人脉收益balance   可用余额

sql部分如下:

 

则mapper部分为:

Map
getMyWallet(@Param("userId")Integer userId);

接口部分为:

Map
getMyWallet(Integer userId);

 

(2)没有返回结果集

sql部分如下:

< select id= "cardBuild" statementType ="CALLABLE">       

 

转载地址:http://mvdfm.baihongyu.com/

你可能感兴趣的文章
Octave 入门
查看>>
深度学习入门:10门免费线上课程推荐
查看>>
React组件设计模式(一)
查看>>
E-HPC支持多队列管理和自动伸缩
查看>>
express + mock 让前后台并行开发
查看>>
30天自制操作系统-2
查看>>
小程序开发之路(一)
查看>>
Odoo domain写法及运用
查看>>
JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
查看>>
猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
查看>>
面试题:给你个id,去拿到name,多叉树遍历
查看>>
go append函数以及写入
查看>>
关于Java中分层中遇到的一些问题
查看>>
配置 PM2 实现代码自动发布
查看>>
android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
查看>>
iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
查看>>
诡异!React stopPropagation失灵
查看>>
Python_OOP
查看>>
个人博客开发系列:评论功能之GitHub账号OAuth授权
查看>>
mongodb--安装和初步使用教程
查看>>