• mybatis的8月29日


    一、select查询语句

      1.mybatis的映射,jdbc预处理

    <select id="selectPerson" parameterType="int" resultType="hashmap">
      SELECT * FROM PERSON WHERE ID = #{id}
    </select>
    

      这是一个简单的select查询,符号#{id},告诉mybatis创建一个预处理语句参数,通过JDBC,这个参数在SQL拼接中会有一个?来标识,并被传到一个新的预处理语句中,就比如下面的例子。

    //JDBC代码,不是mubatis
    String selectContent = "SELECT * FROM PERSON WHERE ID=?";
    PreparedStatement ps = conn.prepareStatement(selectContent);
    ps.setInt(1,id);
    

      这样很多的JDBC预处理在底层实现,帮我们节约了时间。

      2.select标签会有很多参数,比如下面:  

    <select
      id="selectPerson"
      parameterType="int"
      parameterMap="deprecated"
      resultType="hashmap"
      resultMap="personResultMap"
      flushCache="false"
      useCache="true"
      timeout="10000"
      fetchSize="256"
      statementType="PREPARED"
      resultSetType="FORWARD_ONLY">
    

        id:唯一标识符,用来引用这条语句。

        parameterType:将传入这条语句的参数的完全限定名或者别名,这个属性是可选的,typeHandler可以推断出具体的语句参数,默认值为unset。

        resultType:返回期望类型的类完全限定名或者别名,如果是集合的时候,是集合中的类型,而不是集合本身。resultMap和resultType不可同时使用

        resultMap:外部resultMap使用,定义了一个resultMap标签,在其他地方可以使用这个标签

        flushCache:为true,只要一调用,二级缓存和本地的缓存(一级缓存)都会被清空,默认为false

        useCache:设置为true,将会导致这条语句的结果被二级缓存

        timeout:抛出异常之前,等待数据库返回结果的秒数

        fetchSize:这是尝试影响驱动程序每次批量返回的结果行数和这个设置值相等

        

    弯弯月亮,只为美好的自己。
  • 相关阅读:
    【Python编程:从入门到实践】chapter6 字典
    【Python编程:从入门到实践】chapter5 if语句
    【Linux_Unix系统编程】Chapter9 进程凭证
    【Linux_Unix系统编程】Chapter10 时间
    【Linux_Unix系统编程】Chapter8 用户和组
    【Linux_Unix系统编程】chapter7 内存分配
    【Linux_Unix系统编程】chapter6 进程
    书籍 人生
    流程图软件
    技术文章,iOS,iOS开发系列 数学函数
  • 原文地址:https://www.cnblogs.com/Choleen/p/11432244.html
Copyright © 2020-2023  润新知