mybatis调用存储过程
来源:互联网 发布:multigo 围棋棋谱软件 编辑:程序博客网 时间:2024/05/19 09:49
表
DROP TABLE IF EXISTS p_user
;
CREATE TABLE p_user
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(10) DEFAULT NULL,
sex
char(2) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
模拟数据
INSERT INTO p_user
VALUES (‘1’, ‘A’, ‘男’);
INSERT INTO p_user
VALUES (‘2’, ‘B’, ‘女’);
INSERT INTO p_user
VALUES (‘3’, ‘C’, ‘男’);
存储过程
CREATE PROCEDURE ges_user_count(OUT user_count int)
BEGIN
IF sex_id=0 THEN
SELECT COUNT(*) FROM p_user WHERE p_user.sex=’女’ INTO user_count;
ELSE
SELECT COUNT(*) FROM p_user WHERE p_user.sex=’男’ INTO user_count;
END IF;
END
<!-- parameterMap.put("sexid", 0); parameterMap.put("usercount", -1); --> <parameterMap type="java.util.Map" id="getUserCountMap"> <parameter property="sexid" mode="IN" jdbcType="INTEGER" /> <parameter property="usercount" mode="OUT" jdbcType="INTEGER" /> </parameterMap> <!-- 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 statementType="CALLABLE"存储过程类型 --> <select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE"> CALL ges_user_count(?,?) </select>
//接口public interface UserMapper { public int getUserCount();}//实现类 我用spring的自动注入 也可以通过实例化来new SqlSessionFactorypackage com.dw.user.dao;import java.util.HashMap;import java.util.Map;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;@Repository("userMapper")public class UserMapperImpl implements UserMapper{ //注入SqlSessionFactory @Autowired SqlSessionFactory sessionFactory; public void setSessionFactory(SqlSessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } @Override public int getUserCount() { SqlSession sqlSession = sessionFactory.openSession(); Map<String, Integer> parameterMap = new HashMap<String, Integer>(); //设置参数 parameterMap.put("sexid", 1); parameterMap.put("usercount", -1); //Integer i = sqlSession.selectOne("com.dw.user.dao.UserMapper.getUserCount",parameterMap); Integer i = parameterMap.get("usercount"); System.out.println(i); sqlSession.close(); return i; }}
阅读全文
0 0
- MyBatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- Mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- MyBatis调用存储过程
- mybatis 调用存储过程
- Mybatis调用存储过程
- MyBatis调用存储过程
- mybatis调用存储过程
- mybatis存储过程调用
- mybatis调用存储过程
- MyBatis调用存储过程
- WINHTTP
- 04-面向对象(多态-弊端&前提)1 04-面向对象(多态-弊端&前提)2
- 转载!tf.clip_by_global_norm理解
- JDK8获取参数名称(打开javac -parameters)
- 其实我是一个文艺范的程序员
- mybatis调用存储过程
- 教大家一个解决PDF文件过大的方法
- jquery-esayui自定义按钮通过ajax请求后台跳转页面
- 05-面向对象(多态-转型)1 05-面向对象(多态-转型)2 05-面向对象(多态-转型)3 05-面向对象(多态-转型)4
- java在具体项目中的优势
- git pull
- 计蒜客:热爱工作的蒜蒜(最短路)
- python学习笔记(三)——常用的内置数据类型
- 阿里云智能对话分析服务使用教程