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