java后端很多时候都需要和数据库进行交互,并返回业务数据。一般情况下都会采用执行SQL的方式来进行交互,但有些特别的场景时,也可以直接利用存储过程返回数据。
存储过程返回数据的好处是只需要一个调用,即可根据不同的参数返回不同的业务数据,这些业务数据有可能列名完全不一样。
实现如下:
首先要先定义SqlMap.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="YJSPGJ">
<parameterMap id="yjspgj_test" class="java.util.Map">
<parameter property="v_dxlx" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="i_qsrq" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
</parameterMap>
<procedure id="yjspgj_test" resultClass="java.util.HashMap" remapResults="true" parameterMap="yjspgj_test">
{call sp_test_returnmap(?,?)}
</procedure>
</sqlMap>
这里要重点说明一下:
1、返回的resultClass="java.util.HashMap

本文介绍了如何在Java后端使用SpringMvc调用数据库存储过程,强调了返回数据时使用HashMap作为resultClass的必要性以及设置remapResults="true"的重要性,以应对存储过程返回列不一致的情况。
最低0.47元/天 解锁文章
457

被折叠的 条评论
为什么被折叠?



