×

sqlserver 存储过程

调用数据库的存储过程--SQL server

小星星 小星星 发表于2021-10-29 16:21:32 浏览175 评论0

抢沙发发表评论

1 在mapper.xml中调用

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" " 
<mapper namespace="com.xxx.mapper.XxxMapper">
    <select id="expenseSum" parameterType="java.util.Map" statementType="CALLABLE" >
	{CALL method(
		#{parameter1, mode=IN, jdbcType=DECIMAL},
		#{parameter2, mode=IN, jdbcType=VARCHAR},
		#{parameter3, mode=OUT, jdbcType=DECIMAL},
		#{parameter4, mode=OUT, jdbcType=VARCHAR}
	)}		
    </select>
</mapper>

在mapper.java中调用

void expenseSum(Map<String, Object> map);

在ServiceImpl.java中调用

			Map<String, Object> m = new HashedMap<String, Object>();
			String year = req.getParameter("YEAR");
			m.put("parameter1", new BigDecimal(year));
			m.put("parameter2",userCode);
			iExpenseSummaryMapper.expenseSum(m);
			
			if("0".equals(m.get("parameter3").toString())) {
				map.put("code", "0");
				map.put("success", true);
				map.put("msg", m.get("parameter4"));
			}else {
				map.put("code", "500");
				map.put("success", false);
				map.put("msg", m.get("parameter4"));
			}

4 SQL server中的存储过程头部

ALTER PROCEDURE [dbo].[method]
(@parameter2 VARCHAR(30) ,
 @parameter4 VARCHAR(30) OUTPUT
 )


 您阅读本篇文章共花了: 

群贤毕至

访客