博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql procedure返回多数据集
阅读量:6469 次
发布时间:2019-06-23

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

返回多数据集写法:

第一种
 

DROP PROCEDURE IF EXISTS `p_query_user` ; DELIMITER //      CREATE PROCEDURE p_query_user(  p_inout_user_id  INT   )      begin    declare c varchar(100) default '0';         SELECT * FROM T_SD_USER WHERE USER_ID = p_inout_user_id ;         SET p_inout_user_id =2222;end // DELIMITER ; set @uId = 3000 ;CALL p_query_user(@uId );SELECT @uId ;

 

第二种

mysql>delimiter //mysql>drop procedure if exists proc;mysql>create procedure proc()begincreate temporary table tmp1 like t;insert into tmp1 select * from t;create temporary table tmp2 like t;insert into tmp2 select * from t;end;//mysql>delimiter ;mysql>select * from tmp1;mysql>select * from tmp2;

注:使用临时表在session级一直可用,再次调用存储过程需要先DROP临时表。

 

hibernate call 

@Test    public void test0() {        try {            String procedureSql = "CALL p_query_user( :userId)";            SQLQuery sqlQuery = t.getSession().createSQLQuery(procedureSql)                    .addEntity(TSdUser.class);            Object userId = 3000;            sqlQuery.setParameter("userId", userId);            List
result = sqlQuery.list(); for (TSdUser tSdUser : result) { System.out.println(tSdUser); } System.out.println(userId); } catch (Exception e) { e.printStackTrace(); } }

结果如下:

Hibernate: CALL p_query_user( ?) TSdUser [userSysMlb=100.0, userUseredMlb=633137.0, userDoDiscoverCount=0, userDoCommonsSayCount=0, createTime=2014-05-08 12:20:35.0, lastActivateSystemMsgTime=2014-07-17 12:10:00.0, lastActivateSusCommentMsgTime=2014-05-08 12:20:35.0, lastActivateNegativeMsgTime=2014-06-17 10:27:37.0, lastActivatePraiseMsgTime=2014-05-08 12:20:35.0, lastActiveTime=2014-08-11 18:45:52.0, priMsgTime=2014-08-09 14:30:27.0, lockTime=null, userMark=null, userSubMark=null, userRemark=null, userInfo=null, userLoginIp=127.0.0.1, userLogginPhoneCode=13724770797, userRegisterInfo=null, userRealName=null, userRegisterPhoneCode=13724770797, userRegistrationCity=null, userPhoneCity=湛江, userDeviceType=Android, userLoginQqId=1, userLoginWeiXinId=null, userLoginSinaBlogId=null, userWeiXinOpenId=111, cteateType=1, restaurantWeiXinOpenId=222, weiXinSubscribeTime=2014-05-17 13:29:28.0, weiXinSubscribeStatus=SUBSCRIBE, weiXinUnSubscribeTime=null, userId=3000, userName=MJorcen, userTotalMlb=1.1111111E7, userDoAttentionCount=0, userReAttentionCount=0, userDoPraiseCount=0, userRePraiseCount=11, userDoNegativeCount=0, userReNegativeCount=6, userDoShowDetailCount=38, userDoGetVoucherCount=5, userDoUsedVoucherCount=2, userPhone=13724770797, userGender=G, userGrade=0, userHeader=null]

或者:

@Test    public void test1() {        try {            String procedureSql = "CALL p_query_user(?)";            Connection connection = t.getSession().connection();            Object userId = 3000;            java.sql.CallableStatement cs = connection                    .prepareCall(procedureSql);            cs.setInt(1, 3000);                        cs.registerOutParameter("p_inout_user_id", Types.INTEGER);            cs.execute();            int patams1 = cs.getInt(1);            ResultSet resultSet = cs.getResultSet();            while (resultSet.next()) {                System.out.println(resultSet.getInt("USER_ID"));            }            System.out.println(patams1);        } catch (Exception e) {            e.printStackTrace();        }    }

 

 一个网上的例子;

public String callFirstProcedures(final long qyid, final int pdys) {    String procedureSql = "{call get_qyaqdcpdjb(?,?,?)}";    Object pj = jdbcTemplate.execute(procedureSql,            new CallableStatementCallback() {                public Object doInCallableStatement(CallableStatement cs)                        throws SQLException, DataAccessException {                    cs.setLong(1, qyid);                    cs.setInt(2, pdys);                    //你需要注册一个输出参数                    cs.registerOutParameter(3, Types.VARCHAR);                    cs.execute();                    return cs.getString(3);                }            });    return HtmsUtils.formatObject(pj);}

 

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

你可能感兴趣的文章
cobbler初探------实现自动安装centos6.4
查看>>
Android Studio 2.0 preview3 BUG
查看>>
兼容几乎所有浏览器的透明背景效果
查看>>
Go语言4
查看>>
jeesite 框架搭建与配置
查看>>
Adb移植(一)简单分析
查看>>
Linux VNC server的安装及简单配置使用
查看>>
阿里宣布开源Weex ,亿级应用匠心打造跨平台移动开发工具
查看>>
Android项目——实现时间线程源码
查看>>
招商银行信用卡重要通知:消费提醒服务调整,300元以下消费不再逐笔发送短信...
查看>>
python全栈_002_Python3基础语法
查看>>
C#_delegate - 调用列表
查看>>
交换机二层接口access、trunk、hybird三种模式对VLAN的处理过程
查看>>
jQuery.extend 函数详解
查看>>
[转]Windows的批处理脚本
查看>>
lnmp高人笔记
查看>>
多维数组元素的地址
查看>>
数据库运维体系_SZMSD
查看>>
福大软工1816 · 第三次作业 - 结对项目1
查看>>
selenium多个窗口切换
查看>>