mybatis plus 请求postgres 中的存储过程
mybatis plus 请求postgres 中的存储过程
1 创建存储过程
CREATE OR REPLACE FUNCTION get_user_count()
RETURNS INTEGER AS $$
DECLARE
user_count INTEGER;
BEGIN
SELECT COUNT(*) INTO user_count FROM users;
RETURN user_count;
END;
$$ LANGUAGE plpgsql;
2 定义存储过程的映射接口:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
void getUserCount();
}
3 创建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">
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.entity.User">
<!-- 此处省略实体类属性映射 -->
</resultMap>
<select id="getUserCount" statementType="CALLABLE">
SELECT get_user_count()
</select>
</mapper>
4 创建XML映射文件:
@Autowired
private UserMapper userMapper;
public void callUserCountProcedure() {
userMapper.getUserCount();
}