Mybatis学习笔记(二)——增、删、改、查

Mybatis学习笔记——增、删、改、查

Mybatis实现增删改查,实际要考虑SQL语句的书写,再细致一点,重点要掌握查询操作SQL关联查询等操作。
就像上篇博客,我们首先要思考的就是:是什么把接口,映射文件,接口的方法连接起来的。其次,再开始学习更加细致、巧妙的设置。
下面再重温一下该系列第一篇主要内容:
一、映射文件《-----与-----》接口连接的桥梁

在接口对应的映射文件UserMapper.xml中,使用mapper标签的namespace属性,将接口和映射文件联系起来:
映射文件的namespace要和mapper接口的全类名保持一致。

<mapper namespace="com.zxm.mybatis.mappers.UserMapper"><insert></insert><update></update><delete></delete><select></select>
</mapper>

二、映射文件《-----与-----》接口方法连接的桥梁

映射文件中增删改查SQL语句的id要和mapper接口中的方法名保持一致。
例如,增加用户:
1.mapper接口增加用户的方法名是insertUser。
2.UserMapper.xml映射文件中增加用户的SQL语句< insert id = “insertUser” >

<insert id="insertUser">insert into t_user values(null,'admin','admin',23,'男','12345@qq.com')</insert>

常用的增删改查操作,不一样的地方其实就是SQL语句的编写,再难一点几个表的关联查询,查询返回是一个数据还是多条数据,实体类属性名和数据库表的字段名不一致如何设置…

一、添加用户

  1. interface UserMapper:
    /*** 添加用户信息*/int insertUser();
  1. UserMapper.xml:
    <!--int insertUser();--><insert id="insertUser">insert into t_user values(null,'admin','admin',23,'男','12345@qq.com')</insert>

二、删除用户

  1. interface UserMapper:
    /*** 删除用户信息*/int deleteUser();
  1. UserMapper.xml
    <!--int deleteUser();--><delete id="deleteUser">delete from t_user where id = 1</delete>

三、修改用户

  1. interface UserMapper:
    /*** 修改用户信息*/void updateUser();
  1. UserMapper.xml
    <!--void updateUser();--><update id="updateUser">update t_user set email = '666666@163.com' where id=2</update>

四、查询用户(最常用、最复杂、更需要掌握,之后的文章着重于查询的多种情况)

Ⅰ、查询某个指定用户(一条数据,根据主键id查询用户,返回值是User类型)

  1. interface UserMapper:
    /*** 查询用户信息*/User getUserById();
  1. UserMapper.xml
    <!--User selectUser();--><!--查询功能的标签必须设置resultType或resultMapresultType:设置默认的映射关系resultMap:设置自定义的映射关系--><select id="getUserById" resultType="User">select * from t_user where id = 2</select>

Ⅱ、查询多个用户(使用List集合盛放查询到的多条数据)

  1. interface UserMapper:
    /*** 查询所有的用户信息*/List<User> getAllUser();
  1. UserMapper.xml
    <select id="getAllUser" resultType="User">select * from t_user</select>

如果觉得这篇博客,对你学习Mybatis有所帮助,还请支持一波,点赞收藏,不投币(●’◡’●),一起学习,一起进步!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【剑指offer】面试题60:n个骰子的点数(Java)

把n个骰子扔在地上&#xff0c;所有骰子朝上一面的点数之和为s。输入n&#xff0c;打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案&#xff0c;其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。 示例 1: 输入: 1 输出: [0.16667…

AI回溯过去解决复杂任务 |《自然》论文

来源&#xff1a;Nature Portfolio根据《自然》本周发表的一项研究First return, then explore&#xff0c;一类增强学习算法在雅达利经典游戏中的得分超过了人类玩家和先进的人工智能系统&#xff0c;算法挑战的游戏包括《蒙特祖马的复仇》&#xff08;Montezuma’s Revenge&a…

python数据图形化—— matplotlib 基础应用

matplotlib是python中常用的数据图形化工具&#xff0c;用法跟matlab有点相似。调用简单&#xff0c;功能强大。在Windows下可以通过命令行 pip install matplotlib 来进行安装。 以下为一些基础使用的例子&#xff1a; 1、绘制直线 先通过numpy生成在直线 y 5 * x 5 上的一组…

【剑指offer】面试题61:扑克牌中的顺子(java)

从扑克牌中随机抽5张牌&#xff0c;判断是不是一个顺子&#xff0c;即这5张牌是不是连续的。2&#xff5e;10为数字本身&#xff0c;A为1&#xff0c;J为11&#xff0c;Q为12&#xff0c;K为13&#xff0c;而大、小王为 0 &#xff0c;可以看成任意数字。A 不能视为 14。 示例 …

Snipaste的安装及快捷键的设置

Snipaste的安装及快捷键的设置 关于Snipaste&#xff1a; Snipaste 是一个简单但强大的截图工具&#xff0c;也可以让你将截图贴回到屏幕上&#xff01;可以将剪贴板里的文字或者颜色信息转化为图片窗口&#xff0c;并且将它们进行缩放、旋转、翻转、设为半透明&#xff0c;甚…

人与机器人的交互理论及其前景

来源&#xff1a;人机认知与实验室摘要&#xff1a;移动机器人的人机交互正处于早期阶段。大部分与机器人相关的用户交互都被数控能力所限制&#xff0c;向用户提供的最普遍的界面是以自动化平台提供的视频和对机器人的一定程度上的路径指挥。对于半自动能力的移动机器人&#…

【剑指offer】面试题62:圆圈中最后剩下的数字(Java)

0,1,,n-1这n个数字排成一个圆圈&#xff0c;从数字0开始&#xff0c;每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如&#xff0c;0、1、2、3、4这5个数字组成一个圆圈&#xff0c;从数字0开始每次删除第3个数字&#xff0c;则删除的前4个数字依次是…

计算机组成原理——Cache与主存的地址映射

Cache–主存的地址映射 由主存地址映象到cache地址称为地址映射 cache的基本结构&#xff1a; Cache的工作过程&#xff1a; CPU发出一个地址&#xff0c;同时发给主存和cache的地址映射机构&#xff0c;CPU会从主存中取出字还是从cache中取出字&#xff0c;主存将块号送入主…

Java 日期与时间

1、获取当前时间 Date date new Date();System.out.println(date);//Sun Mar 31 11:45:14 CST 2019Calendar calendar Calendar.getInstance();System.out.println(calendar);//java.util.GregorianCalendar...//import java.sql.Timestamp;Timestamp timestamp new Timesta…

申工智能有没有作弊?

来源&#xff1a;北国骑士在2021年农心杯赛场&#xff0c;韩国天才棋手申真谞连胜五轮&#xff0c;帮助韩国队夺得了阔别很久的团队冠军奖杯。从一连串的棋局来看&#xff0c;不管是日本选手还是中国对手&#xff0c;在韩国棋手面前都“不堪一击”。以申真谞为例&#xff0c;几…

浮点数加减法运算(对阶、尾数求和、规格化、舍入、溢出判断)

浮点数的加减法运算 前言&#xff1a; 运算过程&#xff1a;对阶、尾数求和、规格化、舍入、溢出判断 浮点加减运算 在计算机中&#xff0c;加减法运算用补码实现。 算术运算的常识&#xff1a;两个浮点数如果要进行加减法运算&#xff0c;它们的阶或者指数必须相等。 一、…

【剑指offer】面试题63:股票的最大利润(Java)

假设把某股票的价格按照时间先后顺序存储在数组中&#xff0c;请问买卖该股票一次可能获得的最大利润是多少&#xff1f; 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天&#xff08;股票价格 1&#xff09;的时候买入&#xff0c;在第 5 天&#xff08;股票价格 6&a…

JSP实现登陆页面(表单提交、连接数据库、实现页面跳转)

JSP实现登陆页面(表单提交、连接数据库、实现页面跳转) 1.数据库设计 2.主页面展示 3.代码展示&#xff1a; index.jsp <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC …

任正非在“GTS云与终端云合作与融合进展”汇报会上的讲话

任正非内部讲话音频版作者&#xff1a;任正非来源&#xff1a;蓝血研究&#xff08;lanxueyanjiu)2021年1月12日&#xff0c;任正非在“GTS云与终端云合作与融合进展”汇报会上发表讲话。任正非要求&#xff0c;要围绕着体验把端、管、云拉通&#xff0c;优化华为的GTS服务网络…

Valid BFS? CodeForces - 1037D(思维 bfs)

我真是一只菜狗。。。。。。emm。。。 题意&#xff1a; 判断一个从1开始的队列是否可以按照bfs的顺序 进行遍历。。必须从1开始。。。然后后边依次是bfs顺序 解析&#xff1a; 看代码能看懂吧。。。emm。。。就是把每个有关系的用map标记一下 然后bfs的时候 加一个循环进队列就…

【剑指offer】面试题65:不用加减乘除做加法(Java)

写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内不得使用 “”、“-”、“*”、“/” 四则运算符号。 示例: 输入: a 1, b 1 输出: 2 提示&#xff1a; a, b 均可能是负数或 0 结果不会溢出 32 位整数 代码&#xff1a; class Solution { public int…

Hinton一作新论文:如何在神经网络中表示“部分-整体层次结构”?

来源 | AI科技评论作者 | Geoffrey Hinton编译 | 陈彩娴AI科技评论在 Twitter 上发现了一篇Hinton的新论文&#xff0c;作者只有Hinton本人&#xff0c;这篇论文没有介绍具体的算法&#xff0c;而是描绘了一个关于表示的宏观构想&#xff1a;如何在神经网络中表示部分-整体层次…

概率校准与Brier分数

1.再提逻辑回归 前面已经讲过了逻辑回归&#xff0c;这里不再细讲&#xff0c;只是简单的说一个函数&#xff0c;主要是方便大家更好的理解概率校准。 在逻辑回归中&#xff0c;用的最多的就是sigmod函数&#xff0c;这个函数的作用就是把无限大或者无限小的数据压缩到[0,1]之间…

【剑指offer】面试题66:构建乘积数组(Java)

给定一个数组 A[0,1,…,n-1]&#xff0c;请构建一个数组 B[0,1,…,n-1]&#xff0c;其中 B 中的元素 B[i]A[0]A[1]…A[i-1]A[i1]…A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5] 输出: [120,60,40,30,24] 提示&#xff1a; 所有元素乘积之和不会溢出 32 位整数 a.lengt…

费曼:所有科学知识都是不确定的

来源 &#xff1a; 网络作为科学家&#xff0c;我们知道伟大的进展都源于承认无知&#xff0c;源于思想的自由。那么这是我们的责任——宣扬思想自由的价值&#xff0c;教育人们不要惧怕质疑而应该欢迎它、讨论它&#xff0c;而且毫不妥协地坚持拥有这种自由——这是我们对未来…