• mybatis调用存储过程


    创建存储过程

    create PROCEDURE pro1(in name1 VARCHAR(20),out num INTEGER)
    BEGIN
    insert into dept (dname) values (name1);
    select count(*) into num from dept;
    END

    创建mapper

      <parameterMap id="pro1" type="java.util.Map">
            <parameter property="dname" mode="IN" jdbcType="VARCHAR"/>
            <parameter property="num" mode="OUT" jdbcType="INTEGER"/>
        </parameterMap>
    
        <insert id="testPro" parameterMap="pro1" statementType="CALLABLE">
            call pro1(?,?);
        </insert>
    JDBC 要求,如果一个列允许 null 值,并且会传递值 null 的参数,就必须要指定 JDBC Type
    映射文件还可以这样写:

    运行测试:

    public static void main(String[] args) throws IOException {
            SqlSessionFactory sql = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
            SqlSession sqlSession = sql.openSession();
            DempDAO mapper = sqlSession.getMapper(DempDAO.class);
            Map map=new HashMap<>();
            map.put("dname", "设计部");
            map.put("num", 0);
            mapper.testPro(map);
            sqlSession.commit();
            System.out.println(map.get("num").toString());
        }
  • 相关阅读:
    悲悯心洞悉真相
    查看逍遥模拟器端口号
    delphi中Tstringlist分割字符串的用法
    delphi中httpencode使用注意事项
    DELPHI常用类型及定义单元
    左旋转字符串
    链表中倒数第k个节点
    二叉树镜像
    用两个栈实现队列
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/11253936.html
Copyright © 2020-2023  润新知