mybatis--基础--3.2--xml映射文件--select元素

mybatis–基础–3.2–xml映射文件–select元素


代码地址

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

1、select元素

1.1、案例

<select id="selectPerson" parameterType="int" resultType="hashmap">
  SELECT * FROM PERSON WHERE ID = #{id}
</select>    
  1. 这个语句被称作selectPerson,接受一个int(或Integer)类型的参数,并返回一个HashMap类型的对象,其中的键是列名,值便是结果行中的对应值。

  2. #{id}:预处理语句参数,通过JDBC,这样的一个参数在SQL中会由一个"?"来标识,并被传递到一个新的预处理语句中,就像下面这样:

在这里插入图片描述

2、属性

<select
  id="selectPerson"
  parameterType="int"
  parameterMap="deprecated"
  resultType="hashmap"
  resultMap="personResultMap"
  flushCache="false"
  useCache="true"
  timeout="10000"
  fetchSize="256"
  statementType="PREPARED"
  resultSetType="FORWARD_ONLY">    
  1. id:
    1. sql语句的唯一标识符
  2. parameterType
    1. 参数类型,使用全类名或者别名
    2. 可选:MyBatis可以通过TypeHandler推断出具体传入语句的参数类型
    3. 默认值:unset
  3. resultType
    1. 返回类型,使用全类名或者别名
    2. resultType、resultMap不能同时使用。
  4. resultMap
    1. 外部resultMap的命名引用。
    2. resultType、resultMap不能同时使用。
  5. flushCache
    1. true:任何时候只要语句被调用,都会清空本地缓存和二级缓存
    2. 默认值:false。
  6. useCache
    1. true:本条语句的结果被二级缓存
    2. 默认值:对select 元素为true。
  7. timeout
    1. 这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数。
    2. 默认值为unset(依赖驱动)。
  8. fetchSize
    1. 尝试影响驱动程序每次批量返回的结果行数为fetchSize值
    2. 默认值:unset(依赖驱动)。
  9. statementType
    1. STATEMENT,PREPARED或CALLABLE 的一个。这会让MyBatis分别使用 Statement,PreparedStatement或CallableStatement,
    2. 默认值:PREPARED。
  10. resultSetType
    1. FORWARD_ONLY,SCROLL_SENSITIVE或SCROLL_INSENSITIVE中的一个
    2. 默认值:unset (依赖驱动)。
  11. databaseId
    1. 如果配置了databaseIdProvider,MyBatis会加载所有的不带databaseId或匹配当前 databaseId的语句;
    2. 如果带或者不带的语句都有,则不带的会被忽略。
  12. resultOrdered
    1. 这个设置仅针对嵌套结果
    2. true: 就是假设包含了嵌套结果集或是分组了,这样的话当返回一个主结果行的时候,就不会发生有对前面结果集的引用的情况。这就使得在获取嵌套的结果集的时候不至于导致内存不够用。
    3. 默认值:false
  13. resultSets
    1. 仅对多结果集的情况适用,它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号分隔的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值