JavaEE进阶--mybatis使用测试日志参数传递浏览器访问

devtools/2024/12/25 2:21:03/

文章目录

  • 1.项目创建
  • 2.mybatis的使用
    • 2.1创建初始页面
    • 2.2补充yml文件
    • 2.3navicate表
    • 2.4用户类的编写
    • 2.5查询接口
    • 2.6运行测试
  • 3.细节说明
    • 3.1java开发规范
    • 3.2关于包
    • 3.3持久层代码
  • 4.测试文件
    • 4.1如何生成
    • 4.2生成位置
    • 4.3补充方法
  • 5.配置mybatis日志
  • 6.参数传递
    • 6.1单个参数
    • 6.2多个参数
  • 7.参数的重命名
  • 8.通过浏览器访问

1.项目创建

之前的学习过这个mybatis相关的这个入门的知识,但是又太久没有使用了,所以今天又重新熟悉了一下,这个项目的创建就是选择的这个springboot下面的这个maven项目,这个项目里面我们需要引入这个spring web和这个lombok以及我们的mysql driven即驱动,然后就是他的mybatis framework这个框架,直接创建即可;

我们的这个mybatis区别于这个传统的这个JDBC链接主要是因为我们的这个

mybatis_7">2.mybatis的使用

2.1创建初始页面

下面的这个就是我们的项目页面,但是最开始我们的这个项目啊里面只会有这个pom.xml配置文件和我们的这个resource下面的这个application配置文件,我自己是在这个地方把我们的配置文件修改成为了这个yml配置文件;

image-20241223194321855

2.2补充yml文件

我们需要按照这个yml文件的这个具体的语法进行指定,其中这个用户名和密码就是我们的数据库的信息,而且这个url里面的这个3306后面的就是我们的数据库的名字,其他的内容都是不变的,我们直接cv即可;

image-20241223194632619

2.3navicate表

因为我们的这个mybatis针对于这个数据库进行操作,但是前提还是你的这个数据库里面需要有东西,对把,所以我自己就是在这个navicate这个工具里面使用下面的这个表进行操作;

image-20241223194802351

2.4用户类的编写

下面的这个就是我们在这个src下面新建包包model,这个里面写上我们的这个userinfo的相关的信息,也就是我们上面的这个数据库里面的这个表的相关的这个属性,使用对应的数据类型,其中这个里面的创建时间和修改时间属于我们的规范,在下面是会进行说明的;

image-20241223194918606

2.5查询接口

我们在目录下面新建接口,里面的就是进行查询的相关的方法,我们的这个接口外面添加上这个mapper注解,里面的这个list就是我们想要打印的基本数据单元(每一个用户的信息都是一个list);

@select注解后面的这个内容就是我们的SQL语句,表示的就是对于我们的用户表进行查询;

image-20241223195111382

2.6运行测试

在这个项目里面有这个test类,我们点进去之后创建我们的这个接口的对象,并且在这个contextLoad方法里面去调用我们的接口里面的查询语句,把这个结果进行打印输出即可;

image-20241223195312278

运行之后,我们发现打印的内容正是我们的数据库里面的用户表里面的用户的相关的信息:

image-20241223195441470

3.细节说明

java_53">3.1java开发规范

image-20241223191706616

delete_flag:删除的标志

1)物理删除:就是delete删除方法;

2)逻辑删除:就是update进行更新,但是原来的这个数据其实还是存在的,只不过被更新掉了,原来的数据还是会保留的;

3.2关于包

日期类型使用的是Date是我们的这个util包下面的,而不是sql下面的;

3.3持久层代码

我们的这个mapper就是持久层,我们可以新建这个mapper包:

image-20241223200232983

下面的这个12行使方法的实现;(xml实现或者注解的方式实现)注解的方式对于简单的查询更加常用,我们这个地方使用的是注解的方式;

13行是我们的方法的声明;

image-20241223200108144

4.测试文件

4.1如何生成

我们上面使用的是我们的这个test里面的这个测试文件,下面的这个是我们自己生成的测试文件:

首先就是在我们的mapper下面生成这个generate

image-20241223202711098

选择这个里面的test

image-20241223202730009

对于下面的这个选项进行勾选:

image-20241223202628953

4.2生成位置

image-20241223205045359

添加注解:下面的这个注解就是我们的spring的运行的环境;

image-20241223205225082

4.3补充方法

16行:加载spring的运行环境;

17行三角号:执行所有的测试方法;

33行:执行当前的这个测试的方法;

我们在这个20行创建我们的这个mapper;

15行的这个注解就是为了我们去打印这个日志准备的;

image-20241223205554607

关于:我们的这个测试文件里面有这个setup和teardown,我们打印的这个日志里面可以看出来,这个setup是在我们的这个测试文件之前进行打印的,而这个teardown是在我们的这个查询内容之后进行打印的;

image-20241223205920634

mybatis_125">5.配置mybatis日志

需要在我们的yml里面添加上下面的这个内容,我们的日志为方便我们查看这个相关的错误信息;

image-20241223210211848

下面就是我们的输出的这个日志内容:输入内容和输出内容

前面的两行的这个箭头朝右边,表示的是我们的查询语句和我们的参数(我们的这个里面暂时是没有涉及到参数的);

后面的这个箭头的方向发生了变化,这个打印的就是我们的输出的信息;

image-20241223210138110

下面这个日志就说明我们的这个sql语句是有问题的,方便我们快速的定位问题;

image-20241223210358589

6.参数传递

6.1单个参数

当只有一个参数的时候,我们的注解里面的这个#{}里面的内容可以和我们的参数名字是一样的,也可以是不一样的;

image-20241223211431791

我们接着生成这个测试文件:传递这个id参数,我们就会发现查询到指定的信息;

image-20241223211526979

6.2多个参数

当涉及到多个参数的时候:我们的这个参数的名字必须一样,否则就会报错;

image-20241223211747861

这个结果也是可以查询出来的:

image-20241223211809781

7.参数的重命名

把userid参数绑定到了这个id,因此我们可以在这个注解里面使用这个重命名之后的这个名字,也就是id;

image-20241223212126244

书用这个param绑定之后,原来的这个名字就不可以使用了;

1)默认是方法的参数名字;

2)使用param重命名之后,使用重命名之后的名字;

8.通过浏览器访问

我们上面的这些都是使用的测试用例,如果哦我们想要通过浏览器路径进行访问,这个时候需要新建包包:

controller使用注入的service:

image-20241223214313980

service使用注入的mapper:

image-20241223214343156

我们上面的这些都是使用的测试用例,如果哦我们想要通过浏览器路径进行访问,这个时候需要新建包包:

controller使用注入的service:

image-20241223214313980

service使用注入的mapper:

image-20241223214343156

然后我们使用controller里面的这个路径进行访问就可以在数据库里面查询到对应的结果;


http://www.ppmy.cn/devtools/145133.html

相关文章

青少年编程与数学 02-004 Go语言Web编程 09课题、访问数据库

青少年编程与数学 02-004 Go语言Web编程 09课题、访问数据库 一、数据库访问1. 安装数据库驱动2. 导入所需包3. 创建数据库连接4. 初始化数据库连接5. 使用GORM进行数据库操作 二、GORM三、GORM框架与Gin框架结合使用1. 初始化项目和安装依赖2. 配置数据库连接3. 定义数据模型4…

python学opencv|读取图像(十七)认识alpha通道

【1】引言 前序学习进程中,我们已经掌握了RGB和HSV图像的通道拆分和合并,获得了很多意想不到的效果,相关链接包括且不限于: python学opencv|读取图像(十二)BGR图像转HSV图像-CSDN博客 python学opencv|读…

Django 模型管理器中自定义方法和添加导出功能

在 Django 中,模型管理器提供了一种扩展模型行为的方式。您可以重写或添加自定义方法,以满足特定的业务需求。在本文中,我们将探讨如何在模型管理器中自定义方法,并提供一些常见的用例。此外,我们还将介绍如何在管理员界面中添加导出数据为 CSV 文件的功能。 什么是模型管理器…

k8s-metrics-server

一:拉取镜像 直接从阿里云的镜像仓库拉取,国外的镜像仓库比较慢。。。。 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.7.2 打包镜像,之后传到k8s的服务器上面 docker save -o metrics-server.ta…

机试题——疯长的草

题目描述 将种不同的草随机种在一块广漠无垠的二维平面上(直角坐标系内),给定二维数组 points 表示第 0 天所有草的初始位置,第 i 项 points [i][xi, yi] 表第 0 天草 i 在点 [xi, yi]。每天,被草覆盖的点会向外蔓延到…

Day13 用Excel表体验梯度下降法

Day13 用Excel表体验梯度下降法 用所学公式创建Excel表 用Excel表体验梯度下降法 详见本Day文章顶部附带资源里的Excel表《梯度下降法》,可以对照表里的单元格公式进行理解,还可以多尝试几次不同的学习率 η \eta η来感受,只需要更改学习率…

【openwrt】openwrt NAT64 NAT46实现简介

NAT64 & NAT46 在 OpenWrt 上实现 NAT46 和 NAT64 可以通过安装和配置相应的软件包来完成。 NAT64 实现步骤 安装必要的软件包 你需要安装 tayga 和 bind 或 dnsmasq 以支持 NAT64 和 DNS64。 使用以下命令安装: opkg update opkg install tayga opkg install bind-s…

【系统移植】NFS服务器环境搭建——挂载根文件系统

什么是NFS? NFS(Network File System)即网络文件系统,其基于UDP/IP 使用NFS能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其它计算机中的文件就像在访问自己的计算机一样,文件只存在于服…