mybetis 调用储存过程 和 动态sql

本文介绍了如何在MyBatis中调用存储过程和函数,包括在XML配置文件中设置以及通过注解的方式实现。同时,探讨了使用`selectKey`标签生成主键的方法,适用于不支持自动生成主键的数据库场景。此外,还展示了在MyBatis中运用动态SQL的配置和注解方式。
摘要由CSDN通过智能技术生成


SELECT调用存储过程,函数

在xml文件 配置,通过接口映射。


mybetis.xml配置 

  

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
  
 
<configuration>
	<!-- 引入 config 连接配置文件  需要注意的是 mybatis  引入 包的时候 不能加  /号  -->
	<properties resource="config.properties"></properties>
	
	
	<!--   environments 配置连接数据库的环境 , development 表示开发者环境  -->
	<environments default="development">
		<environment id="development">
			<!-- 将事务交给JDBC 来管理   Connection   调用 commit 和 rollback 方法 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 设置数据源  连接四要素     (连接池) -->
			<dataSource type="POOLED">
				<property name="driver" value="${driverClass}"/>
        		<property name="url" value="${url}"/>
        		<property name="username" value="${userAccount}"/>
        		<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		<mapper resource="cn/zj/lesson02/call/call_procedure.xml " />
	</mappers>

</configuration>

接口类:

 

package cn.zj.lesson02.call;

import java.util.Map;

import org.apache.ibatis.annotations.Select;


public interface CallMapper {
	//mybetis 调用存储过程 参数必须是由map设置进去
	public void addPro(Map map);
	
	
	//mybetis 调用函数
	
	public void addFuc(Map map);
}

   call_procedure.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">
  
  <!-- 命名空间 ,在路径上加一层上级路径,避免id重复  在类中调用是 namespace.id  -->
 <mapper namespace="cn.zj.lesson02.call.CallMapper">
 	<!--  statementType="CALLABLE"  确认调用的是一个存储过程 
 			
 		resultType="map"  参数必须通过map 设置进去  out类型的参数 会调用方法
 		
 		的时候 自动设置进去 
 		
 		PS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值