mybatis--基础--3.3--xml映射文件--insert,update,delete元素

mybatis–基础–3.3–xml映射文件–insert,update,delete元素


代码地址

https://gitee.com/DanShenGuiZu/learnDemo/tree/mysql_mybaties_DB/mybatis-learn-master

1、insert,update,delete元素

<-------------insert--------->


<-------------update--------->


<-------------delete--------->

2、属性

  1. id:
    1. sql语句的唯一标识符
  2. parameterType
    1. 参数类型,使用全类名或者别名
    2. 可选:MyBatis可以通过TypeHandler推断出具体传入语句的参数类型
    3. 默认值:unset
  3. flushCache
    1. true:任何时候只要语句被调用,都会清空本地缓存和二级缓存
    2. 默认值:false。
  4. timeout
    1. 这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数。
    2. 默认值为unset(依赖驱动)。
  5. statementType
    1. STATEMENT,PREPARED或CALLABLE 的一个。这会让MyBatis分别使用 Statement,PreparedStatement或CallableStatement,
    2. 默认值:PREPARED。
  6. useGeneratedKeys
    1. 仅针对insert、update
    2. MyBatis使用JDBC的getGeneratedKeys方法来取出由数据库内部生成的主键值
    3. 默认值:false。
  7. keyProperty
    1. 仅针对insert、update
    2. 唯一标记一个属性
    3. MyBatis通过getGeneratedKeys的返回值或者通过insert语句的selectKey子元素设置它的键值
    4. 默认:unset。
    5. 可以得到多个生成的列,使用逗号分隔的属性名称列表。
  8. keyColumn
    1. 仅针对insert、update
    2. 通过生成的键值设置表中的列名
    3. 这个设置仅在某些数据库(像 PostgreSQL)是必须的,当主键列不是表中的第一列的时候需要设置。
    4. 可以得到多个生成的列,使用逗号分隔的属性名称列表。
  9. databaseId
    1. 如果配置了databaseIdProvider,MyBatis会加载所有的不带databaseId或匹配当前 databaseId的语句;
    2. 如果带或者不带的语句都有,则不带的会被忽略。

2.1、属性测试

2.1.1、代码结构

mybatis--基础--3.3--xml映射文件--insert,update,delete元素_第1张图片

2.1.2、useGeneratedKeys,keyProperty


  insert into user (user_name,password)
  values (#{userName},#{password})

mybatis--基础--3.3--xml映射文件--insert,update,delete元素_第2张图片
mybatis--基础--3.3--xml映射文件--insert,update,delete元素_第3张图片

2.1.3、SelectKey


    insert into user (user_name,password)
    values (#{userName},#{password})
    
        SELECT LAST_INSERT_ID()
    

mybatis--基础--3.3--xml映射文件--insert,update,delete元素_第4张图片

2.1.4、SelectKey属性


  1. keyProperty
    1. selectKey语句结果应该被设置的目标属性。
    2. 如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
  2. keyColumn
    1. 匹配属性的返回结果集中的列名称。
    2. 如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
  3. resultType
    1. 返回类型
  4. order
    1. BEFORE
      1. 首先选择主键,设置keyProperty然后执行插入语句
    2. AFTER
      1. 先执行插入语句,然后设置keyProperty的值
  5. statementType
    1. STATEMENT,PREPARED或CALLABLE 的一个。这会让MyBatis分别使用 Statement,PreparedStatement或CallableStatement,
    2. 默认值:PREPARED。

你可能感兴趣的:(mybatis,mybatis,xml)