web开发学习笔记(13.mybatis基于注解配置)

1.使用mybatis基本步骤

2.引入依赖

<!--        mysql-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>
<!--        mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
<!--        测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

3.配置application.properties   配置数据库连接信息


#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url,test为数据库名称
spring.datasource.url=jdbc:mysql://localhost:3306/test
#连接数据库的用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=123456

4.编写实体类和接口

5.编写测试类

@SpringBootTest    //单元测试注解类
public class applicationtest {

    @Autowired
    private UserMapper userMapper;


    @Test
    public void test() {
        List<User> userList = userMapper.list();
        System.out.println(userList.get(0).getName());
    }


}

6.或者使用stream流的方式进行输出

7.设置查看mapper层里的提示信息,方便操作

8.  使用jdbc连接数据库

9.数据库连接池

10.lombok,在编译时,会自动生成对应的java代码

之前的实体类过于臃肿

使用lombok自动生成以下内容,简化开发,提高效率

11.引入lombok依赖,不需要指定版本号,因为springboot parent父项目中已经制定了版本

<!--        lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

12.lombok使用方法

13.数据库字段中含有_下划线的,在实体类中要用驼峰命名

14.删除操作,使用#{id}作为占位符

15mybatis日志输出到控制台

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

16.下面这种是预编译的sql,性能更高,更安全(防止sql注入)

    @Delete("delete from emp where id=#{id}")
    public void delete(Integer id);

17.有两种参数占位符

第一种较好

18.新增操作

在mapper中添加

在测试类中添加

19.主键返回,会把新插入的内容中的主键作为返回值

20.更新操作

在mapper中添加

在测试类中添加

21.根据id查询员工

mapper中添加

测试类中添加

22.数据封装

解决方法1:给字段起别名

解决方案2:手动封装

解决方案3:开启驼峰命名自动开关

#开启mybayis驼峰命名自动开关
mybatis.configuration.map-underscore-to-camel-case=true

24.条件查询员工

25.使用concat拼接字符串

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信息检索与数据挖掘 | (七)概率检索模型

文章目录 &#x1f4da;基本概率论知识&#x1f4da;概率排序原理PRP-probability ranking principle&#x1f4da;二值独立模型BIM-Binary Independence Model&#x1f4da;Okapi BM25模型 出于一些追求完整性的强迫症&#xff0c;开始做考完试了梳理知识点博客的离谱行为&…

【目标检测】YOLOv7算法实现(二):正样本匹配(SimOTA)与损失计算

本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github&#xff0c;删减了源码中部分内容&#xff0c;满足个人科研需求。   本篇文章在YOLOv5算法实现的基础上&#xff0c;进一步完成YOLOv7算法的实现。…

分布式深度学习中的数据并行和模型并行

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

HQL,SQL刷题简单查询,基础,尚硅谷

今天刷SQL简单查询&#xff0c;大家有兴趣可以刷一下 目录 相关表数据&#xff1a; 题目及思路解析&#xff1a; 总结归纳&#xff1a; 知识补充&#xff1a; 关于LIKE操作符/运算符 LIKE其他使用场景包括 LIKE模糊匹配情况 相关表数据&#xff1a; 1、student_info表 2、sc…

Centos7 安装redis 详细步骤访问不了github和windows系统下载

windows系统下载 https://hellowindows.cn/ VMware虚拟机安装Windows Server 2016 VL https://blog.csdn.net/qq_37545849/article/details/134828341 VMware全屏时不显示上方命令栏的边缘 此时如果要返回&#xff0c;可以把鼠标移动至屏幕上方边缘短暂停留以呼出命令栏。或使…

龙芯3A6000_通过xrdp远程访问统信UOS

原文链接&#xff1a;龙芯3A6000|通过xrdp远程访问统信UOS hello&#xff0c;大家好&#xff01;今天我带给大家的是一篇实用性极强的技术文章——通过xrdp远程访问装载在龙芯3A6000上的统信UOS操作系统。这意味着&#xff0c;无论您使用的是Windows、MACOS还是Linux操作系统&a…

测试 yolov8 分割模型 边缘检测

发现 cfg/default.yaml 参数 mask_ratio 等于4 直接训练如下边缘分割标签,推理时mask 稀疏&#xff0c;训练时分数偏低,mask_ratio 改为1训练时打印的mask 的 P指标一直为0,将imgsz原图size 训练分数也不高 标注用的是labelme多边形 阅读源码发现可能是因为mask缩放导致 且出现…

分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别

分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别 目录 分类预测 | Matlab实现LSTM-Attention-Adaboost基于长短期记忆网络融合注意力机制的Adaboost数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类…

【江科大】STM32:(超级详细)定时器输出比较

文章目录 输出比较单元特点 高级定时器&#xff1a;均有4个通道 PWM简介PWM&#xff08;Pulse Width Modulation&#xff09;脉冲宽度调制输出比较通道PWM基本结构基本定时器 参数计算捕获/比较通道的输出部分详细介绍如下&#xff1a; 舵机介绍硬件电路 直流电机介绍&#xff…

Python教程48:海龟画图turtle画太极八卦阵

---------------turtle源码集合--------------- Python教程91&#xff1a;关于海龟画图&#xff0c;Turtle模块需要学习的知识点 Python源码45&#xff1a;海龟画图turtle画雪容融 Python源码44&#xff1a;海龟画图turtle&#xff0c;画2022卡塔尔世界杯吉祥物 Python教程…

R语言简介

1.R语言 R语言是一种数学编程语言&#xff0c;主要用于统计分析、绘图和数据挖掘。 2.R语言特点 免费、开源&#xff0c;兼容性好&#xff08;Windows、MacOS或Linux)。具有多种数据类型&#xff0c;如向量、矩阵、因子、数据集等常用数据结构。多用于交互式数据分析&#x…

C语言第六弹---分支语句(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 分支语句 1、 逻辑操作符&#xff1a;&& , || , &#xff01;4.1、 逻辑取反运算符 &#xff01;4.2、 与运算符4.3、 或运算符4.4、 练习&#xff1a;闰…

怎么给wordpress网站底部页脚添加备案号和链接?

以前“WordPress后台 >> 常规”最底部是有一个ICP备案号的&#xff0c;我们只需要填写备案号并保存更改即可让WordPress自带主题底部显示ICP备案号&#xff0c;但是现在新版本的WordPress已经没有了这个ICP备案号选项&#xff0c;而且也无法直接添加公安联网备案号&#…

内网环境横向移动——利用DCOM(1)

这里先提两个概念&#xff0c;COM和DCOM COM即组件对象模型(Component Object Model&#xff0c;COM) &#xff0c;是基于 Windows 平台的一套组件对象接口标准&#xff0c;由一组构造规范和组件对象库组成。COM是许多微软产品和技术&#xff0c;如Windows媒体播放器和Windows …

耳鸣是怎么回事呢?

什么是耳鸣&#xff1f; 耳鸣是指在没有任何客观声响的情况下&#xff0c;个人主观上却感觉听到声音&#xff0c;有些人甚至觉得声音来自头部。耳鸣的感觉因人而异&#xff0c;声音多种多样。比如明明没有开任何电器&#xff0c;但却可以感觉到电流声&#xff0c;明明旁边没有…

华为服务器RAID5

0、BIOS默认密码 TaiShan 100服务器BIOS系统的默认密码为**“Huawei12#$”&#xff0c; TaiShan 200服务器BIOS系统的默认密码为“Admin9000”**。 1、服务器开机选择DEL,进行设置 2、选择设备管理器进入配置页面 3、选择AVAGO MegaRAID configuration utility 进入raid配置…

免费在线压缩图片网站分享

支持批量压缩处理&#xff0c;但需要注意&#xff0c;网站仅仅支持体积为5MB的图片&#xff0c;压缩率高达66%&#xff0c;压缩完成后&#xff0c;点下Donwnload all&#xff0c;就能将图片保存至本地。 网页端直接进行图片压缩 https://tinify.cn/

Educational Codeforces Round 161 (Div.2) A~F

A.Tricky Template (模拟) 题意&#xff1a; 询问是否存在一个字符串模板 t t t使得字符串 a a a&#xff0c; b b b与之匹配&#xff0c; c c c不匹配&#xff0c;匹配条件如下&#xff1a; 如果模板中第 i i i个字母是小写字母&#xff0c;那么 s i s_i si​必须与 t i t_…

用户体验革命:Facebook如何重新定义社交交互

在数字化的时代&#xff0c;社交媒体不仅仅是连接人与人之间的桥梁&#xff0c;更是用户体验不断演进的舞台。Facebook&#xff0c;作为全球最大的社交媒体平台之一&#xff0c;一直在努力通过创新和技术提升&#xff0c;重新定义社交交互&#xff0c;为用户带来更加丰富、便捷…

机器人DH建模

D-H 根据表达式判断所建立的DH模型是标准型&#xff08;Standard DH&#xff09;还是改进型&#xff08;Modified DH&#xff09; 第三四行的首元素为0的是标准型&#xff0c;参考博客 标准DH参数坐标系建立在传动轴上&#xff0c;而修正DH参数坐标系建立在驱动轴上。修正D…