mybatis mysql 调用视图
java代码
@RequestMapping(value = "/testView", method = RequestMethod.GET)
public @ResponseBody String testView(HttpServletRequest request, HttpServletResponse response) throws IOException {
Map<String, Object> paraMap = new HashMap<String, Object>();
paraMap.put("userType", "doctor");
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
list = procedureMapper.testView(paraMap);
if(list != null && list.size() > 0){
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
return null;
}
mapper
package cn.zsmy.mapper; import java.util.List;
import java.util.Map; import cn.zsmy.entity.User;
import cn.zsmy.form.UserForm;
import cn.zsmy.mapper.base.SimpleMapper;
import cn.zsmy.tmp.core.MyBatisRepository; /**
* @ClassName: ProcedureMapper
* @Description: 调用存储过程与视图
* @author 师海明
* @date 2016年6月13日 上午11:52:38
*
*/
@MyBatisRepository
public interface ProcedureMapper extends SimpleMapper<UserForm,User>{ Map<String, Object> testProcedure(Map<String, Object> paraMap); List<Map<String, Object>> testView(Map<String, Object> paraMap);
}
mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.zsmy.mapper.ProcedureMapper" > <!-- 调用存储过程查询 -->
<select id="testProcedure" parameterType="java.util.Map" statementType="CALLABLE" resultType="java.util.HashMap">
{call loginandreg(
#{out_ret,mode=OUT,javaType=java.lang.Integer,jdbcType=INTEGER},
#{out_desc,mode=OUT,javaType=java.lang.String,jdbcType=VARCHAR},
#{userId,jdbcType=VARCHAR,mode=OUT},
#{user_pwd,jdbcType=VARCHAR,mode=IN},
#{nickname,jdbcType=VARCHAR,mode=IN}
)
}
</select> <!-- 调用视图查询 -->
<select id="testView" parameterType="java.util.Map" resultType="java.util.HashMap">
select username, nickname, dept from test_view where user_type=#{userType}
</select> </mapper>
视图
DROP VIEW IF EXISTS `palm_2_0_16`.`test_view`;
CREATE VIEW `palm_2_0_16`.`test_view`
AS
SELECT u.username,u.nickname,d.dept, u.user_type FROM tb_user u, tb_doctor d WHERE d.id=u.id ;
备注:
mapper.xml中where后面的参数条件一定是在视图中返回的,不然会报错。
mybatis mysql 调用视图的更多相关文章
- mybatis调用视图和存储过程
现在的项目是以Mybatis作为O/R映射框架,确实好用,也非常方便项目的开发.MyBatis支持普通sql的查询.视图的查询.存储过程调用,是一种非常优秀的持久层框架.它可利用简单的XML或注解用语 ...
- SpringMVC+Spring+mybatis项目从零开始--Spring mybatis mysql配置实现
上一章我们把SSM项目结构已搭建(SSM框架web项目从零开始--分布式项目结构搭建)完毕,本章将实现Spring,mybatis,mysql等相关配置. 1. 外部架包依赖引入 外部依赖包引入 ...
- Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建(转)
这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 如果还没有搭建好环境( ...
- freemarker + spring mvc + spring + mybatis + mysql + maven项目搭建
今天说说搭建项目,使用freemarker + spring mvc + spring + mybatis + mysql + maven搭建web项目. 先假设您已经配置好eclipse的maven ...
- Spring+Mybatis+Mysql搭建分布式数据库访问框架
一.前言 用Java开发企业应用软件, 经常会采用Spring+MyBatis+Mysql搭建数据库框架.如果数据量很大,一个MYSQL库存储数据访问效率很低,往往会采用分库存储管理的方式.本文讲述如 ...
- eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建
这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 接下来马上进入项目搭建 ...
- SpringBoot(五)Springmvc+Mybatis+mysql
为了整合这个花了,好长时间,因为上几个连在一起,在pom文件中有没注释的配置,导致我找这个问题找了好久.下面开始 1,先new project 时选择spring initializr,新建好一个空项 ...
- MySQL之视图、触发器、事务、存储、函数、流程控制
一.视图 视图就是一个虚拟表,我们把复杂的sql语句后看到的虚拟表封装起来,给他取个名字,当我们下次使用的时候,就不用再去写复杂的sql语句,直接调用封装后的视图名字,就可以得到我们想要的表,然后就可 ...
- MySQL之视图、触发器、事务、存储过程、函数 流程控制
MySQL之视图.触发器.事务.存储过程.函数 阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 MySQL这个软件想将数据处理的所有事情,能够在mysql这个层面上全部 ...
随机推荐
- github add
https://github.com/oldbeer/test/tree/master
- php 读取json数据文本所遇到的问题
json数据属于特殊的字符串,一般自己写的json数据不要误加空格,回车,换行, 若是从其他文件读取过来的json数据很有可能带有空格,回车,换行等符号,导致使用json_decode()转诚数组失败 ...
- iOS当中一些常见的面试题
转自各方面..... 一.前言部分 文中的问题多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.iOS9有哪些新特性? 答案: 1)改进了 Siri 基于日期.位置和相簿名称来搜索个人照片和视 ...
- javaScript中定义类或对象的五种方式
第一种方式: 工厂方法 能创建并返回特定类型的对象的工厂函数(factory function). function createCar(sColor){ var oTempCar = new Obj ...
- python基础入门一(语法基础)
作为自己正式接触并应用的第一门编程语言,在Alex和武sir两位大王的要求下,开始了写博客总结的日子.学习编程语言是很有趣的一件事情,但有2点请一定要谨记:1.做人靠自己,码代码也必须靠自己.能不能成 ...
- iOS开发直播需要的准备
这里我们要研究直播技术首先需要对AVFoundation熟悉掌握 AVFoundation拍照和录制视频 AVFoundation中提供了很多现成的播放器和录音机,但是事实上它还有更加底层的内容可以供 ...
- C语言-两个库函数
两个库函数 --1-- printf函数 1.1 printf 函数的介绍 1.2 格式控制字符串 1.3 %f输出精度的问题 1.4 printf 函数使用注意事项 --2-- scanf函数 2. ...
- Maven的安装配置
本文主要是针对mac os系统下maven的安装教程. 1.首先验证是否有jdk.java -version,没有需要手工安装 2.maven的下载地址:http://maven.apache.org ...
- git学习——git理解和仓库的创建
一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited ...
- 从零开始学习Android(一)Android环境的搭建
好久没有开始写博客了,最近开始学习Android,所以想把学习的笔记都一一记录下来.一来是方便自己以后资料的查询,其次也是给Android新手朋友进行学习使用,再次也希 望得到高手的指点.废话少说,我 ...