`

MyBatis调用存储过程

阅读更多

mybatis 调用存储过程

在 JDBC 中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方括号本身并不是语法的组成部份。 

{call 过程名[(?, ?, ...)]} 

返回结果参数的过程的语法为: 

{? = call 过程名[(?, ?, ...)]} 

不带参数的已储存过程的语法类似: 

{call 过程名} 

 

带返回值XML配置

<select id="getReturnCount" parameterType="java.util.Map" statementType="CALLABLE">
        <![CDATA[
           {#{cityCount,mode=OUT,jdbcType=INTEGER}=call dbo.p_logic_test_web(
              #{cityId,mode=IN,jdbcType=INTEGER}
           )}    
       ]]>
    </select>

 返回结果为Map,直接从map中的key=cityCount取值

 

非XML配置

/**
	 * 执行预分存储过程
	 * 
	 * @param allocateDate:预分日期,如:2017-01-01 00:00:00
	 * @param planMoney:计划分成金额:单位为分
	 * @throws Exception 
	 * @return:实际分成金额
	 */
	public void execPreAllocateProcedure(String allocateDate, int planMoney, Integer linkId) throws Exception {
		String call = "{call p_logic_shortcut_preallocate_money_day_web(?,?,?)}";
		CallableStatement callableStatement=null;
		Connection conn = getDataSource().getConnection();
		java.sql.Date date = new java.sql.Date(DateUtil.convertStringToDate(allocateDate, "yyyy-MM-dd HH:mm:ss").getTime());
		try {
			callableStatement = conn.prepareCall(call);
			callableStatement.setDate(1, date);
			callableStatement.setInt(2, planMoney);
			callableStatement.setInt(3, linkId);
			callableStatement.execute();
		} catch (Exception e) {
			throw new IspRollBackException("调用存储过程出错:" + e.getMessage());
		} finally {
			callableStatement.close();
			conn.close();
		}
	}

 

分享到:
评论

相关推荐

    mybatis调用存储过程

    在数据库管理中,存储过程是一种预编译的SQL语句集合...总之,MyBatis调用存储过程提供了一种灵活且高效的方式,使得Java应用能充分利用数据库的高级功能。通过正确配置和使用,开发者可以实现更高效、安全的数据操作。

    mybatis调用存储过程源码

    这个提供的"mybatis调用存储过程源码"压缩包,包含了一个完整的MyBatis调用存储过程的示例,解压后可以直接运行,帮助开发者理解如何在实际项目中实现这一功能。详细注释可以帮助初学者更好地理解和学习这一过程。...

    lanlan2017#JavaReadingNotes#10.3 MyBatis调用存储过程 10.3.3根据id查询数据返回对

    title: 10.3 MyBatis调用存储过程 10.3.3根据id查询数据返回对象10.3 MyBatis调用存储过程 10.3.3根据id查询数据返回对

    spring mybatis 调用oracle存储过程

    在Spring和MyBatis的集成中,通过MyBatis的SqlSession对象可以调用存储过程。Oracle存储过程是一组预编译的SQL语句,可以在数据库服务器端执行,提供更好的性能和安全性。 1. **无返回值的存储过程**: 当存储过程...

    Mybatis调用Oracle存储过程的方法图文详解

    在Mapper.java文件中,需要定义一个调用存储过程的方法。例如: ```java public interface OracleMapper { void procNoParam(); } ``` 在MapperTest.java文件中,可以编写测试代码来调用存储过程。例如: ```java ...

    MyBatis调用MYSQL存储过程

    MyBatis调用MYSQL存储过程 返回多行 引用的包: asm-3.1.jar cglib-2.2.jar commons-logging-1.1.1.jar log4j-1.2.13.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13.jar slf4j-api-1.5.8.jar slf4j-log4j12-...

    springboot整合mybatis调用oracle存储过程

    至此,我们就完成了Spring Boot整合MyBatis调用Oracle存储过程并处理游标返回数据的过程。在实际开发中,可以根据需求调整存储过程的逻辑和结果处理方式,以满足各种复杂业务场景。注意,对于大数据量的查询,使用...

    mybatis调用存储过程的实例代码

    MyBatis调用存储过程的实例代码 MyBatis是一个基于Java的持久层框架,提供了对数据库的访问和操作。存储过程是一种编译好的SQL语句,能够实现复杂的业务逻辑。下面是一个关于MyBatis调用存储过程的实例代码,通过这...

    Mybatis调用MySQL存储过程的简单实现

    调用存储过程则使用`CALL`关键字: ```sql CALL sp_name([参数列表]); ``` 删除存储过程的命令是`DROP PROCEDURE`,需要注意的是,不能在一个存储过程中删除另一个存储过程。 MyBatis调用MySQL存储过程的实现通常...

    springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、java动态调用or

    能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来...只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载

    spring mvc + mybatis 调用mysql 存储过程

    这里,我们将使用MyBatis的SqlSession对象,通过Mapper接口来调用存储过程。 1. 配置MyBatis: 在Spring MVC项目中,你需要配置MyBatis与Spring的整合,这通常涉及到`mybatis-config.xml`,`sqlSessionFactory`和`...

    mybatis调用orclae存储过程

    然后,在对应的Mapper XML文件(`EmployeeMapper.xml`)中,编写调用存储过程的SQL语句: ```xml {call INSERT_EMPLOYEE(#{employeeId, mode=IN, jdbcType=NUMERIC}, #{firstName, mode=IN, jdbcType=VARCHAR}...

    Mybatis调用PostgreSQL存储过程实现数组入参传递

    当与PostgreSQL数据库配合使用时,可能会遇到需要调用存储过程或自定义函数的情况,特别是当这些函数接收数组作为参数时。本篇文章将详细介绍如何在MyBatis中调用PostgreSQL存储过程,尤其是如何处理数组类型的入参...

    mybatis调用储存过程

    在调用存储过程时,我们需要利用MyBatis提供的API和配置机制来实现。 1. **配置MyBatis**:在`mybatis-config.xml`配置文件中,你需要添加数据库连接信息,例如数据源、驱动类等。同时,也需要将你的Mapper接口文件...

    JAVA通过MyBatis调用MySql存储过程和函数doc文档合集整理.zip

    - 调用存储过程和函数可能涉及多条SQL语句,MyBatis的事务管理机制能确保操作的原子性。 - 可以手动控制事务,如在Service层开启和提交,或使用Spring的声明式事务管理。 7. **性能优化** - 合理设计存储过程和...

    mybatis调用mysql存储过程

    注意`statementType="CALLABLE"`表明这是一个调用存储过程的语句,而`#{}`是MyBatis的占位符,用于传递参数。 4. **调用存储过程**: 在Java代码中,通过SqlSession对象的`selectOne`或`execute`方法来调用Mapper...

    3、mybatis存储过程和函数的调用1

    总结起来,MyBatis调用存储过程提供了灵活性和效率,使得开发人员能够充分利用数据库提供的复杂功能,同时保持代码的整洁和可维护性。在实际项目中,正确理解和使用这些方法可以提高数据处理的效率和应用的性能。

Global site tag (gtag.js) - Google Analytics