- 博客(72)
- 收藏
- 关注
原创 Mybatis-Plus
微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。(两只小鸟)引入依赖定义Mapper自定义的Mapper继承MybatisPlus提供的BaseMapper接口:<User>为你实体类的实体,这样才能知道你操作的实体是什么当添加完mybatisplus后,可以删去红色小鸟的sql语句内容,同样也能删去蓝色小鸟的实现类语句内容直接调用Mapper后会出现很多固定的sql语句提供选择以此实现0代码。
2024-09-10 01:11:32 1963
原创 Redis
Redis是一个基于内存的key-value(键值对)结构数据库基于内存存储,读写性能高访问量大的适合存储热点数据(热点商品、咨询、新闻)企业应用广泛中文网站:http://www.redis.net.cn/
2024-08-22 10:21:30 938
原创 苍穹外卖之员工管理、分类管理
注意:由于开发阶段前端和后端是并行开发的,后端完成某个功能后,此时前端对应的功能可能还没有开发完成,导致无法进行前后端联调测试,所以在开发阶段,后端测试主要以接口文档测试为主。ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。当前端提交的数据和实体类中对应的属性差别较大时,建议使用DTO来封装数据。ThreadLocal并不是一个Thread,而是Thread的局部变量。根据分页查询接口设计对应的DTO。
2024-08-22 10:19:47 261
原创 java文件上传
【文件上传的注意事项】1. 为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于web-inf目录下。2. 为防止文件覆盖的现象发生,要为上传文件产生一个唯一的文件名3. 要限制上传文件的最大值。4. 可以限制上传文件的类型,在收到上传文件名时,判断后级名是否合法。【需要用到的类详解】
2024-08-16 09:58:50 815
原创 smbms
为了我们职责统一,可以把角色的操作单独放在一个包中,和pojo类对应==考虑使不使用maven,依赖与jar包。思路:移除Session,返回登录页面。ORM映射:表-类映射。编写一个过滤器并注册。
2024-08-16 09:58:14 415
原创 MVC三层框架
servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码。什么是MVC : Model模型 view视图 Controller控制器。用户直接访问控制层,控制层就可以直接操作数据库。弊端:程序十分臃肿,不利于维护。
2024-07-30 17:28:15 213
原创 JSP内置对象及作用域
application:客户端向服务端发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如聊天数据。request:客户端向服务端发送请求,产生的数据,用户看完就没用了,比如新闻,用户看完没用的。session:客户端向服务端发送请求,产生的数据,用户用完一会还有用,比如购物车。
2024-07-28 19:38:33 239
原创 JSP基础语法与指令
任何语言都有自己的语法,在java中有,JSP作为java技术的一种应用,它拥有一些自己扩充的语法(了解知道即可!!!), Java所有语法都支持!
2024-07-28 18:25:41 446
原创 Cookie、Session
用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话。一个同学来过教室,下次再来教室,我们会知道这个同学,曾经来过,称之为有状态会话。//响应给客户端一个cookie。2.服务器登记你来过了,下次你来的时候我来匹配你;cookie.getName()//获取cookie的key。cookie.getValue()//获取cookie的值。
2024-06-18 17:09:21 1018
原创 Servlet基础(续集2)
web服务器接收到客户端的http的请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse。
2024-06-11 20:15:55 361
原创 Servlet基础(续集)
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前web应用;发现:都被打包到同一路径下:classes,我们俗称这个路径为classpath。优先级问题:指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求;他路径是sd4,但是请求了/gp,所以就显示了gp的内容。自定义后缀实现请求映射,注意点,*前面不能加映射的路径。一个Servlet可以指定多个映射路径。一个Servlet可以指定通用映射路径。一个Servlet可以指定一个映射路径。
2024-06-08 14:37:12 855
原创 Git概念用法
分支(Branch):分支是基于主干(主分支)创建的一个独立的代码副本。合并(Merge):合并是将一个分支的修改合并到另一个分支的过程。合并分支:使用命令"git merge <branch_name>"将指定分支的修改合并到当前分支。推送修改:使用命令"git push"将本地仓库的修改推送到远程仓库。拉取修改:使用命令"git pull"将远程仓库的修改更新到本地仓库。推送(Push):推送是将本地仓库中的修改上传到远程仓库的过程。拉取(Pull):拉取是将远程仓库中的修改更新到本地仓库的过程。
2024-06-07 13:25:18 471
原创 Apache Spark
总之,Apache Spark 是一个功能强大的大数据处理引擎,可以应用于各种大数据分析任务,具有高速、通用和可扩展的特点。MLlib:MLlib 是 Spark 提供的机器学习库,提供了常用的机器学习算法和工具,方便进行大规模的机器学习任务。数据挖掘和特征提取:Spark 提供了丰富的机器学习算法和工具,可以应用于数据挖掘和特征提取任务,如分类、聚类、推荐等。数据清洗和预处理:Spark 可以处理大规模的数据集,对数据进行清洗、过滤、转换等预处理操作,以便进行后续的分析。
2024-06-06 17:49:21 334
原创 二叉树的算法题目
而后序则是完全不一样,由于在访问结点过程中先访问左结点后,必须访问右结点(除没有右节点外),所以在出栈后的结点,需查找它的右节点,找到好先对右节点进行排序,最后再排出栈的结点。上述代码,无论是前中后序遍历,只要将res.add(root.val)移动一下位置即可,在前序中,把该代码反到循环内,在每次访问根节点的时候,直接将根节点的值放到res中;解决方法一:定义一个递归方法,循环遍历左子树的左孩子和右子树的右孩子进行比较,在比较左右孩子和右左孩子。方法二:循环迭代的方法,这里用到了队列。
2024-06-05 21:05:43 1094
原创 树的算法基础知识
树是n(n>=0)个结点的有限集。n=0时称为空树。有且仅有一个特定的称为根的结点当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、......、Tm,其中每一个集合本身又是一棵树,并且称为根的子树树的度:即选取整个树中,出现最大分支的数量为整个树的度结点间的关系:左右分支称为结点的孩子,而结点称为左右分支的双亲,左右分支又互称为兄弟,祖先则是表示从根到该节点所经分支上的所有结点,同一层结点但不同分支称为堂兄弟。
2024-06-04 19:22:58 459
原创 接口测试JSON/XML请求
是JavaScript Object Notation的缩写是一种轻量级的数据交换格式是理想的接口数据交换语言是eXtensible Markup Language的缩写是可扩展标记语言,类似HTML是用来传输和存储数据是通过<>标签来描述信息是W3C的推荐标准XML是一个完整的标记语言,而JSON不是。
2024-05-30 11:37:34 1097
原创 web自动化高级定位-xpath
对于contains方式,做进一步解说:第一个参数传入匹配方式(文本,@id@name) 第二个参数传入模糊匹配的内容(例如:每日一题)在上图中,tr[1]表示的是tr的第一个对应元素,加上tbody是为了表明我所要查找tr是tbody下的tr。[@id='ember61']")蓝色部分是xpath查找属性必须存在的。nodename表示的是标签名、*表示匹配所有、标签不等于属性。xpath通过索引直接获取对应元素。..使用前一定要加上/如果要匹配属性则需要这样写("
2024-05-21 21:44:38 884
原创 web自动化高级定位-css
括号内填的是在同一堆相同的标签里找顺数第几个——是找爸爸的第几个孩子。对应表达式,注意:不同属性名的不同表达式!是找同种类型的第几个。
2024-05-21 20:14:29 458
原创 web自动化测试中常见控制交互方法
方法一:方法二: 原因:定位到元素后,获取元素的文本信息,属性信息等目的:根据这些信息进行断言或者调试 第二个get是用来通过样式标签的名称,来获取对应的内容。
2024-05-21 13:38:17 213
原创 web自动化强制等待与隐式等待
拓展:在ui自动化测试过程中,经常会出现no such element 的错误,碰到此类错误,第一反应先加强等,确定不是因为等待导致的错误。解决方法:在报错的元素操作之前添加等待即 添加Thread.sleep(3000~10000)。原理:设置一个等待时间,轮询查找(默认0.5秒)元素是否出现,如果没有出现就抛出异常。问题:难以确定元素加载的具体等待时间,避免强制等待时间过多。解决方案:针对于寻找元素的这个动作,使用隐式等待添加配置。注意:添加的内容一定要在报错行之前添加。
2024-05-21 11:44:48 433
原创 web浏览器控制
上面最大化以及最小化调用的是manage()下的window()的max和min方法,一定要注意!调用了navigate()注意了!
2024-05-20 22:40:39 196
原创 Selenium介绍与安装
用于web浏览器测试工具支持的浏览器包括:IE、Firefox等使用简单,可以使用java,python等多种语言编写用例脚本主要由三个工具构成:WebDriver、IDE、Grid。
2024-05-19 19:00:29 616
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人