1、返回一个LIST

select * from tbl_employee where last_name like #{lastName}

2、将查询记录封装为一个Map

select * from tbl_employee where id=#{id}

返回一条记录的map;key就是列名,值就是对应的值。

3、多条记录封装为一个map

@MapKey("id")public Map getEmpByLastNameLikeReturnMap(String lastName);

select * from tbl_employee where last_name like #{lastName}

Map:键是这条记录的主键,值是记录封装后的javaBean。

@MapKey:告诉mybatis封装这个map的时候使用哪个属性作为map的key。

4、多条件查询

public Employee getEmpByIdAndLastName(@Param("id")Integer id,@Param("lastName")String lastName);

select * from tbl_employee where id = #{id} and last_name=#{lastName}

@Param("id")标注查询条件的key,查询条件都会封装为map。id为key,value为参数所对应的值。

5、插入操作(自增主键mysql)

insert into tbl_employee(last_name,email,gender)

values(#{lastName},#{email},#{gender})

获取自增主键的值:

mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys();

useGeneratedKeys="true";使用自增主键获取主键值策略

keyProperty;指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性。

6、插入操作(非自增主键oracle)

①非自增主键oracle BEFORE格式推荐

select EMPLOYEES_SEQ.nextval from dual

insert into employees(EMPLOYEE_ID,LAST_NAME,EMAIL)

values(#{id},#{lastName},#{email)

②非自增主键oracle AFTER存在并发有可能不准确,不推荐

select EMPLOYEES_SEQ.currval from dualinsert into employees(EMPLOYEE_ID,LAST_NAME,EMAIL)

values(#{id},#{lastName},#{email})

Oracle不支持自增;Oracle使用序列来模拟自增;每次插入的数据的主键是从序列中拿到的值;如何获取到这个值;

使用selectKey:

keyProperty:查出的主键值封装给javaBean的哪个属性

order="BEFORE":当前sql在插入sql之前运行

AFTER:当前sql在插入sql之后运行

resultType:查出的数据的返回值类型

mybatis 取查询值_MyBatis-SELECT基本查询相关推荐

  1. mybatis 取查询值_MyBatis面试题集合,90%会遇到这些问题

    点击蓝字关注我们吧! 1.#{}和${}的区别是什么? ${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com. ...

  2. mybatis 取查询值_Mybatis --- 映射文件、参数处理、参数值的获取、select元素

    这样就可以在insert函数中获取新添加的用户的 id主键,否则获取不到 select * from student where id = #{id} insert into student(name ...

  3. mybatis 级联查询兑现_MyBatis之自查询使用递归实现 N级联动效果(两种实现方式)...

    A:首先先看下一个简单的面试题 斐波那契数列 计算数组{1,1,2,3,5,8.......} 第30位值 规律:1 1 从第三项开始,每一项都是前两项之和 有两种实现方式 第一种方式: public ...

  4. mybatis 一对多关系映射 select子查询 只有一条数据 解决方案

    一般一对多 多的那个会是联合主键 所以要这么设置 <resultMap id="CfdMap" type="com.sxq.cloud.entity.ZhyyB2C ...

  5. mybatis update返回值_mybatis 详解(六)通过mapper接口加载映射文件

    通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的.那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-conf ...

  6. mysql查询值替换_MySQL选择查询替换值

    每: COUNT(CASE WHEN b.name="Clase X" THEN b.name END) 在您的代码中,可以编写为: SUM(b.name='Clase X') b ...

  7. mysql 子查询索引_mysql select中子查询中使用强制索引的优化案例

    1,朋友找我帮忙看下比较慢的sql语句 SELECT pg.product_goods_id, pg.product_id, pg.pdt_code, pg.pdt_name, pg.brand_na ...

  8. 一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)

    DQL语言的学习 一.基础查询 语法: **SELECT 要查询的东西 [FROM 表名];**类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查 ...

  9. mybatis 取查询值_Oracle结合Mybatis实现取表TOP 10条数据

    之前一直使用mysql和informix数据库,查表中前10条数据十分简单: 最原始版本: select top * from student 当然,我们还可以写的复杂一点,比如外加一些查询条件? 比 ...

最新文章

  1. pyhon取文件md5值
  2. 博客园上海俱乐部Windows 7社区发布活动的奖品
  3. 谷歌否认街景服务侵犯隐私
  4. 分布式mysql保持数据一致性_一种分布式跨数据库保持事务一致性的方法及系统与流程...
  5. 针对CMS中的tag标签理解
  6. 前端公共reset.css模板
  7. Zend Framework学习之Zend_Mail
  8. 计算球的体积(信息学奥赛一本通-T1030)
  9. 使用 position: sticky 达到粘性元素区域悬浮效果
  10. 添加lua_C++/Lua高级交互
  11. eigen 列拼接_R语言-强大的矩阵运算
  12. OSI七层模型详解 TCP/IP协议
  13. 我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比
  14. c# json转对象
  15. 基于RFID的图书馆管理
  16. 微型计算机常常采用三种线结构,2016年河海大学929地理信息系统之地理信息系统概论考研复试题库...
  17. Koo叔说Shader-贴图切换
  18. 带三维团队半年的一点总结和想法
  19. ContentProvider简结
  20. Ultra Librarian 的安装和使用

热门文章

  1. python读写json_python 读写json数据
  2. matlab求偏微分方程程序,用MATLAB解偏微分方程.pdf
  3. uniapp接收服务器消息,【教程】uniapp websocket实现消息推送
  4. 小米手环无法模拟门卡_颜值与功能得到全面升级,小米手环4 NFC版上手体验
  5. 项目如何用jetty运行_如何用Cloudbase Framework部署一个Vue项目?
  6. SubSonic框架使用图解
  7. oracle chr()和字符连接
  8. 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别
  9. 大学生体测成绩判断c语言_体育改革瞄准高校,体测不过关可能真的毕不了业了...
  10. 湖北经济学院的计算机怎么样,湖北经济学院怎么样名气高吗?真实排名及实力如何?是一本吗...