2021年3月8日:MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
在第一节课中我们在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接口里定义了两个抽象方法:findById(int id)和findAll()。
要使用MyBatis执行任何创建、读取、更新和删除(CRUD)操作,您需要创建与该表相对应的普通旧Java对象(POJO)类。此类描述了将“建模”数据库表行的对象。
在UserMapper.xml 的配置文件中, ,命名空间非常重要,不能有错,必须与我们定义的package和接口一致。
一、打开MyBatisDemo项目
二、在映射器配置文件中引入结果映射元素
如果表的列名与实体的属性名不一致,比如表的register_time字段对应实体类的registerTime属性,我们就需要定义resultMap,当然一致时也可以定义。
结果映射元素,四个元素四个结果
运行测试testFindAll(),效果如下:
添加select语句,按姓名查询的映射语句
在接口里定义按姓名查找的映射语句
添加按姓名查询的测试语句
@Testpublic void testFindByName(){String name = "王";List<User> users = userMapper.findByName(name);if(users.size()>0) {users.forEach(user -> System.out.println(users));}else {System.out.println("没有找到姓名为["+name+"]的记录!");}}
运行 testFindByName(),测试结果:
添加模糊查询,可以查询出以name姓开头的所有记录
CONCAT:拼接字符串
运行 testFindByName(),测试结果:
三、插入表记录
1、在UserMapper.xml里增加映射语句 - 插入的insert 语句, useGeneratedKeys=“true” 自动生成id
在接口里面定义中添加一个抽象方法
添加插入测试语句
@Testpublic void testInsert(){User user = new User();user.setName("王雨涵");user.setAge(20);user.setAddress("龙马潭区长桥路2号2号宿舍");int count =userMapper.insert(user);sqlSession.commit();//提交数据库操作if (count>0){System.out.println("记录插入成功!");System.out.println("插入的新纪录:"+user);}else {System.out.println("记录插入失败!");}}
运行testInsert(),测试结果:
定义更新的映射语句
更新测试语句
运行,测试结果为:
测试遇到问题,在设置参数时发生错误。
运行结果:
2021年3月8日:MyBatis框架学习笔记02:利用MyBatis实现CRUD操作相关推荐
- MyBatis框架学习笔记02:使用MyBatis实现CRUD操作
文章目录 Ⅰ.查询表记录 (Ⅰ).在映射器配置文件里引入结果映射元素 (Ⅱ).添加按姓名查询用户记录功能 1).在UserMapper.xml里添加映射语句 - findByName 2).在User ...
- MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
文章目录 一.打开MyBatisDemo项目 二.查询表记录 (一)在映射器配置文件里引入结果映射元素 (二)添加按姓名查询用户记录功能 1.在UserMapper.xml里添加映射语句 - find ...
- 2021年1月4日-Vulnhub-DerpNStink渗透学习
2021年1月4日-Vulnhub-DerpNStink渗透学习 靶机地址:https://www.vulnhub.com/entry/derpnstink-1,221/ kali地址:192.168 ...
- 9月5日关键点检测学习笔记——人体骨骼点检测:自顶向下
文章目录 前言 一.常用数据集 二.评价体系 1.Bounding box IoU 2.Mask IoU 3.Object keypoint similarity(OKS) 三.Top-down 自顶 ...
- mybatis框架--学习笔记(下)
上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...
- mybatis框架--学习笔记(上)
使用JDBC操作数据库的问题总结: (1)数据库连接,使用时创建,不使用时立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接. (2) ...
- [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP
上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...
- 9月6日关键点检测学习笔记——人脸和手部特征点检测
文章目录 前言 一.干扰因素 1.主动因素 2.固有因素 二.特征点检测 1.PFLD 2.LLCV 三.人脸比对 1.人脸 1:1 2.人脸 1:n 3.人脸 1:N 4.人脸 M:N 四.高清分辨 ...
- 9月16日计算机视觉基础学习笔记——认识机器视觉
文章目录 前言 一.Week 1 homework 1.基本操作 2.滤波 二.从图像处理到计算机视觉 1.反色变换 2.Gamma 变换 3.直方图 & 直方图均衡化 三.计算机视觉的两个步 ...
最新文章
- 谷歌为何能持续创新?工程经理亲自揭秘“工程师文化”
- 常用的webpack 配置
- 教程 | 以太坊智能合约编程之菜鸟教程
- 深入浅出Java中的clone克隆方法,写得太棒了!
- 字节跳动又一款中重度游戏曝光,它要进军“漫改MMO”领域!
- GLog 初始化说明
- linux加大ram 内核需要,Linux 5.1内核发布:io_uring接口+支持持久性内存用作RAM
- ROS 内外网做双网卡绑定负载分流教程bonding 配置教程
- 高校后勤管理系统java代码_java毕业设计_springboot框架的高校后勤信息管理系统...
- 《应用时间序列分析:R软件陪同》——第 3 章 一元时间序列数据的拟合及预测 3.1 一些估计和预测方法的基本数学原理...
- CIO40: 2020年IT人员如何借机破局
- 90% 的前端都会使用 ES6 来简化代码,你都用过哪些?
- 业内首发 | 区块链数据服务 - BDS
- 2007年全国硕士研究生入学统一考试(英语一)
- 校招vivo技术面试总结
- Winform 开源控件库( Sheng.Winform.Controls)
- Microbiome:稻种的驯化在生态进化上塑造水稻种子的细菌与真菌群落
- 【已解决】‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
- 【报告分享】2021年移动互联网行业白皮书-七麦数据(附下载)
- FireBlue QN9020 QN9021 QN902x 例程 按键 多次触发