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后面的參數條件一定是在視圖中返回的,不然會報錯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM