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

  • 相关阅读:
    Scrapy爬虫快速入门
    python垃圾回收机制
    django项目的uwsgi方式启停脚本
    hdu 5504 GT and sequence
    python 在 for i in range() 块中改变 i 的值的效果
    linux 在终端中打开图形化文件管理器
    apache 支持 php
    Mysql 学习记录
    git 导入代码到已有仓库
    python import 自己的包
  • 原文地址:https://www.cnblogs.com/ethan-37/p/12670695.html
Copyright © 2011-2022 走看看