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);
  • 相关阅读:
    spring applicationContext.xml中<beans>中属性概述
    ES6新特性
    JavaWeb工程 目录结构
    web项目目录结构
    关于 eclipse启动卡死的问题 解决方法
    eclipse 僵死/假死 问题排查及解决
    Ajax的text/plain、application/x-www-form-urlencoded和application/json
    js的等值比较规则
    jsp页面中注释 <!-- --> 和<%-- --%> 的区别
    Spring的配置文件ApplicationContext.xml配置头文件解析
  • 原文地址:https://www.cnblogs.com/javasl/p/13628082.html
Copyright © 2011-2022 走看看