首页 > 其他 > 详细

Mybaits(14)存储过程

时间:2020-03-03 16:04:19      阅读:57      评论:0      收藏:0      [点我收藏+]

一、MyBatis存储过程调用

1.创建存储过程

CREATE PROCEDURE save_user_info (
OUT id INTEGER,
IN user_name VARCHAR ( 20 ),
IN real_name VARCHAR ( 20 ),
IN sex VARCHAR ( 20 ),
IN moble VARCHAR ( 20 ),
IN email VARCHAR ( 20 ),
IN note VARCHAR ( 20 ) 
) BEGIN
INSERT INTO t_user ( user_name, real_name, sex, moble, email, note )
VALUES
    ( user_name, real_name, sex, moble, email, note );

SET id = LAST_INSERT_ID( );

END

OUT:出参

IN:入参

2.持久层Dao层增加方法

/**
     * 保存用户
     * @param user
     */
    public void saveUser(User user);

3.持久层配置文件编写

IUserDao.xml

<insert id="saveUser" parameterType="userMapper"
        statementType="CALLABLE">
        {call
        save_user_info(#{id,mode=OUT,jdbcType=INTEGER},#{userName,mode=IN},#{realName,mode=IN},#{sex,mode=IN},#{moble,mode=IN},#{email,mode=IN},#{note,mode=IN})}

    </insert>

4.编写测试类

@Test
    public void saveUser() {
        // 5.创建Dao的代理对象
        session = factory.openSession(true);
        userDao = session.getMapper(IUserDao.class);
        User u = new User();
        u.setUserName("詹三");
        u.setRealName("张三");
        u.setSex(null);
        u.setMoble("12121212");
        u.setEmail("1212@qq.com");
        u.setNote("备注");
        int id = userDao.saveUser(u);
        System.out.println("==="+id);
    }

 

技术分享图片

 

 技术分享图片

 

 

 

CREATE PROCEDURE save_user_info (OUT id INTEGER,IN user_name VARCHAR ( 20 ),IN real_name VARCHAR ( 20 ),IN sex VARCHAR ( 20 ),IN moble VARCHAR ( 20 ),IN email VARCHAR ( 20 ),IN note VARCHAR ( 20 ) ) BEGININSERT INTO t_user ( user_name, real_name, sex, moble, email, note )VALUES( user_name, real_name, sex, moble, email, note );
SET id = LAST_INSERT_ID( );
END

Mybaits(14)存储过程

原文:https://www.cnblogs.com/xhbJava/p/12402079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!