mybatis 取查询值_MyBatis-SELECT基本查询
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基本查询相关推荐
- mybatis 取查询值_MyBatis面试题集合,90%会遇到这些问题
点击蓝字关注我们吧! 1.#{}和${}的区别是什么? ${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com. ...
- mybatis 取查询值_Mybatis --- 映射文件、参数处理、参数值的获取、select元素
这样就可以在insert函数中获取新添加的用户的 id主键,否则获取不到 select * from student where id = #{id} insert into student(name ...
- mybatis 级联查询兑现_MyBatis之自查询使用递归实现 N级联动效果(两种实现方式)...
A:首先先看下一个简单的面试题 斐波那契数列 计算数组{1,1,2,3,5,8.......} 第30位值 规律:1 1 从第三项开始,每一项都是前两项之和 有两种实现方式 第一种方式: public ...
- mybatis 一对多关系映射 select子查询 只有一条数据 解决方案
一般一对多 多的那个会是联合主键 所以要这么设置 <resultMap id="CfdMap" type="com.sxq.cloud.entity.ZhyyB2C ...
- mybatis update返回值_mybatis 详解(六)通过mapper接口加载映射文件
通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的.那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-conf ...
- mysql查询值替换_MySQL选择查询替换值
每: COUNT(CASE WHEN b.name="Clase X" THEN b.name END) 在您的代码中,可以编写为: SUM(b.name='Clase X') b ...
- mysql 子查询索引_mysql select中子查询中使用强制索引的优化案例
1,朋友找我帮忙看下比较慢的sql语句 SELECT pg.product_goods_id, pg.product_id, pg.pdt_code, pg.pdt_name, pg.brand_na ...
- 一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)
DQL语言的学习 一.基础查询 语法: **SELECT 要查询的东西 [FROM 表名];**类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查 ...
- mybatis 取查询值_Oracle结合Mybatis实现取表TOP 10条数据
之前一直使用mysql和informix数据库,查表中前10条数据十分简单: 最原始版本: select top * from student 当然,我们还可以写的复杂一点,比如外加一些查询条件? 比 ...
最新文章
- pyhon取文件md5值
- 博客园上海俱乐部Windows 7社区发布活动的奖品
- 谷歌否认街景服务侵犯隐私
- 分布式mysql保持数据一致性_一种分布式跨数据库保持事务一致性的方法及系统与流程...
- 针对CMS中的tag标签理解
- 前端公共reset.css模板
- Zend Framework学习之Zend_Mail
- 计算球的体积(信息学奥赛一本通-T1030)
- 使用 position: sticky 达到粘性元素区域悬浮效果
- 添加lua_C++/Lua高级交互
- eigen 列拼接_R语言-强大的矩阵运算
- OSI七层模型详解 TCP/IP协议
- 我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比
- c# json转对象
- 基于RFID的图书馆管理
- 微型计算机常常采用三种线结构,2016年河海大学929地理信息系统之地理信息系统概论考研复试题库...
- Koo叔说Shader-贴图切换
- 带三维团队半年的一点总结和想法
- ContentProvider简结
- Ultra Librarian 的安装和使用
热门文章
- python读写json_python 读写json数据
- matlab求偏微分方程程序,用MATLAB解偏微分方程.pdf
- uniapp接收服务器消息,【教程】uniapp websocket实现消息推送
- 小米手环无法模拟门卡_颜值与功能得到全面升级,小米手环4 NFC版上手体验
- 项目如何用jetty运行_如何用Cloudbase Framework部署一个Vue项目?
- SubSonic框架使用图解
- oracle chr()和字符连接
- 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别
- 大学生体测成绩判断c语言_体育改革瞄准高校,体测不过关可能真的毕不了业了...
- 湖北经济学院的计算机怎么样,湖北经济学院怎么样名气高吗?真实排名及实力如何?是一本吗...