zoukankan      html  css  js  c++  java
  • 获取MyBatis的insert、update、delete的返回值,insert返回自增主键

    insert的返回值

    insert标签没有resultType属性,返回boolean或者插入成功的数量(行数),执行失败则报错,不会返回

    <insert id="test" parameterType="Dept">
            INSERT INTO dept(dname,db_source) VALUES(#{dname},DATABASE());
    </insert>
    <insert id="test" parameterType="java.util.List">
      INSERT INTO dept(dname,db_source) VALUES
        <foreach collection="list" item="dept" separator=",">
          (#{dept.dname},DATABASE())
        </foreach>
    </insert>

    接口返回值类型可以是如下两种

    public Integer test(Dept dept);
    public boolean test(Dept dept);

    如果是自增型的数据库,可以返回自增后的主键,如下:

    <insert id="test" parameterType="Dept" useGeneratedKeys="true" keyProperty="deptno" keyColumn="deptno">
      INSERT INTO dept(dname,db_source) VALUES(#{dname},DATABASE());
    </insert>
    public Object test(Dept dept) {
        Object o= dao.test(dept);
        System.out.println("dept.getDeptno(): "+dept.getDeptno());//此处会输出插入后的主键
        return o;
    }

    update的返回值

    update标签没有resultType属性,返回boolean或者符合执行条件的数量(行数),执行失败则报错,不会返回

    <update id="test" parameterType="Dept">
        update dept set db_source='123' where dname=#{dname};
    </update>

    接口返回值类型可以是如下两种

    public Integer test(Dept dept);
    public boolean test(Dept dept);

    delete的返回值

    delete标签没有resultType属性,返回boolean或者符合执行条件的数量(行数),执行失败则报错,不会返回

    <delete id="test" parameterType="Dept">
        delete from dept where dname=#{dname};
    </update>

    接口返回值类型可以是如下两种

    public Integer test(Dept dept);
    public boolean test(Dept dept);
  • 相关阅读:
    浅谈 facebook .net sdk 应用
    数据库中各种字符串的截取函数
    初、中、高级测试工程师面试题汇总(附答案)
    包管理器 scoop
    ModuleNotFoundError: No module named 'pymouse'解决办法
    Python 正则表达式(分组)
    7个Python实战项目代码,让你分分钟晋级大神!
    经典SQL查询题目
    linux中软件的安装和卸载方法
    测试常用工具
  • 原文地址:https://www.cnblogs.com/javasl/p/13628082.html
Copyright © 2011-2022 走看看