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"
      这种方式开发效率较高,但是执行效率相对于第一种方式较低。

  • 相关阅读:
    Visual C++ 2010 SP1 x86&x64
    MVC拦截
    自定义HTTP消息拦截
    转mysql半主从同步
    mysql主从搭建之诡异事件
    snapshot相关
    分布式系统唯一ID生成方案汇总
    mysql监控利器mysqlmtop部署安装
    mysql日常运维
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/ethan-37/p/12670695.html
Copyright © 2011-2022 走看看