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);
  • 相关阅读:
    车载导航系统中GPS的定位
    《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录
    Mysql insert语句的优化
    Codeforces 475 D. CGCDSSQ
    提高代码编码的效率,习惯非常重要!
    ubuntu14.04 安装LNMP
    Unity3d数据加密
    第14章3节《MonkeyRunner源代码剖析》 HierarchyViewer实现原理-HierarchyViewer实例化
    Polyfill简介
    只在需要的时候 Polyfill 你的 JavaScript 代码
  • 原文地址:https://www.cnblogs.com/javasl/p/13628082.html
Copyright © 2011-2022 走看看