zoukankan      html  css  js  c++  java
  • Mybatis学习笔记(1)

    CRUD操作
    1.从实体类参数中取值 #{属性名}

    select * from user where username = #{username}

    2.当sql语句只有一个参数且参数类型是基本类型或基本类型包装类时,大括号(#{占位符})中的占位符可以随意写(id/userid/uid/...)。
    3.由多个对象(如User,Dept)组成一个查询条件时,使用QueryVo把多个对象作为QueryVo的属性封装起来.
      查询时sql中查询条件可以写为#{user.username}或#{dept.id}
    4.实体类中属性名和数据库表中的列名不一致,
      1.可以使用在sql语句中起别名的方式解决问题。

    select id as userId,name as userName from user

      如实体类属性名为userId,数据库表中对应的列名为id。sql语句可以写为"select id as userId from user"
      这种方式执行效率最高,但是开发效率较低
      2.也可以在mapper.xml文件中将属性名与列名,通过<resultMap>标签对应起来。

    <resultMap id="userMap" type"User">
      <!-- 主键字段的对应-->
        <id property="userId" column="id"><>
        <!-- 非主键字段的对应-->
        <result property="userName" column="username"></result>
    </resultMap>
    <select resultMap="userMap">
         select * from user
    </select>

      此时将之前的结果类型resultType="User" 改为 resultMap="userMap"
      这种方式开发效率较高,但是执行效率相对于第一种方式较低。

  • 相关阅读:
    ACM-ICPC ShangHai 2014
    DEBUG感想
    WireShark 使用日记
    C++ 备忘录
    BZOJ 1022 [SHOI2008]小约翰的游戏John
    高斯消元
    BZOJ3236 [Ahoi2013]作业
    BZOJ P3293&&P1045
    ZKW费用流的理解
    BZOJ 几道水题 2014-4-22
  • 原文地址:https://www.cnblogs.com/ethan-37/p/12670695.html
Copyright © 2011-2022 走看看