自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 收藏
  • 关注

原创 MybatisPlus(SpringBoot版)学习第八讲:多数据源 & MybatisX插件

适用于多种场景:纯粹多库、 读写分离、 一主多从、 混合模式等两个库:也可能是两个不同的库(一个MySQL,一个ORACAL库)目前我们就来模拟一个纯粹多库的一个场景,其他场景类似场景说明:我们创建两个库,分别为: mybatis_plus(以前的库不动)与mybatis_plus_1 (新建),将mybatis_plus库的product表移动到mybatis_plus_1库,这样每个库一张表,通过一个测试用例 分别获取用户数据与商品数据,如果获取到说明多库模拟成功。

2025-03-31 09:38:47 403

原创 逆向工程(Mybatis形式 & MybatisPlus形式)

把pom.xml 有关于Mybatis整合逆向工程的,mybatisSpringBoot依赖全部注释掉。正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。默认为false,就是把jdbc里面的基本数据类型是否进行成长。然后这个工具类会报错,因为没有那个依赖了。这个类就是MyBatis逆向工程的类,这个类需要一个集合.因为他的父工程里没有这个依赖,所以我们需要加个版本号。只是生成了最简单的,最后逻辑的实现就是反向拿取。加载所有的配置,也就是那个文件。包的后缀,false就行。

2025-03-31 09:10:05 778

原创 MybatisPlus(SpringBoot版)学习第七讲:通用枚举

一、通用枚举表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举 来实现。

2025-03-30 17:28:14 174

原创 MybatisPlus(SpringBoot版)学习第六讲:插件(分页插件&乐观锁)

*** 根据年龄查询用户列表,分页显示* @param page 分页对象 ,xml中可以从里面进行取值 ,传递参数 Page 即自动分页 ,必须放在第一位* @param age 年龄注意!!分页的插件不要删掉,他是分页功能的前提。

2025-03-27 18:57:02 231

原创 MybatisPlus(SpringBoot版)学习第五讲:条件构造器和常用接口

Wrapper: 条件构造抽象类,最顶端父类: 用于查询条件封装,生成 sql 的 where 条件: 查询条件封装: Update 条件封装: 使用Lambda 语法:用于Lambda语法使用的查询Wrapper: Lambda 更新封装Wrapperctrl+h。

2025-03-27 18:50:15 541

原创 MybatisPlus(SpringBoot版)学习第四讲:常用注解

①同样以用户 ID 为例,假如我们一开始就规划了 10 个数据库表,可以简单地用 user_id % 10 的值来表示数据所属的数据库表编号, ID 为 985 的用户放到编号为 5 的子表中, ID 为 10086 的用户放到编号为 6 的子表中。因为是自动递增的,所以删除一条数据在增加,ID是后面的,会导致一个表里数据多,一个表少。首先是一个符号位, 1bit标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负 数是1,所以id一般是正数,最高位是0。

2025-03-27 17:31:18 1042

原创 MyBatisPlus(SpringBoot版)学习第三讲:通用Service

说明:通用 Service CRUD 封装IService接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆,泛型 T 为任意实体对象建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseService 继承Mybatis-Plus 提供的基类(如果父类的方法满足不了实际,就创建自己的service)官网地址:A3。

2025-03-23 21:05:54 1118

原创 整理使用Spring、SpringBoot测试的四种注解方式

目录1. JUnit纯单元测试代码解释2. Spring测试框架和JUnit结合(XMl配置)代码解释3. Spring测试框架与JUnit结合(注解配置)代码解释4. Spring Boot集成测试代码解释 JUnit 是 Java 开发中常用的单元测试框架。当对普通 Java 类进行单元测试且不依赖 Spring 容器时,可直接使用 JUnit 的 注解。单元测试重点在于验证单个类或方法的功能,要尽量减少对外部依赖的使用。代码解释 注解标记了 方法,表明这是一个测试方法。

2025-03-23 09:52:46 836

原创 MyBatisPlus(SpringBoot版)学习第二讲:基本CRUD

这是因为MyBatis-Plus在实现插入数据时,会默认基于。这里的foreach是lamda表达式的遍历语句。接口的一个方法,用于获取分页查询结果中的数据记录集合。中都已得到了实现,我们可以直接使用,接口如。是一个参数,表示集合中的每个元素。最终执行的结果,所获取的id为。

2025-03-23 09:08:34 797

原创 MyBatis-Plus(SpringBoot版)学习第一讲:简介&入门案例

(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus提供了通用的Mapper和Service,可以在不编写任何SQL语句的前提下,快速的实现单表的增删改查(CURD),批量,逻辑删除,分页等操作。只要把MyBatis-Plus的特性到优秀插件,以及多数据源的配置进行详细讲解。愿景我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。

2025-03-22 22:04:16 1517

原创 SpringBoot第四站(2):整合MyBatis注解版 & 整合MyBatis配置文件

这个 MybatisConfig 配置类的主要作用是对 MyBatis 进行定制化配置,具体来说,它开启了 MyBatis 的下划线命名到驼峰命名的自动映射功能。<configuration> 元素里通常会包含数据库连接环境配置,映射器配置信息。MyBatis 获取到数据库自动生成的主键值后,会把这个值赋给 Java 对象的。的大部分配置,但对于一些复杂的配置,如自定义插件、拦截器等,还是需要使用。我们同样可以在mybatis的接口上不加@Mapper注解,通过。或者通过 Java 代码来配置。

2025-03-20 16:19:00 800

原创 SpringBoot第四站(1):数据层开发: 配置数据源,整合jdbcTemplate

statViewServlet方法的主要作用是配置并注册 Druid 监控页面的 Servlet,为访问 Druid 监控页面设置登录用户名、密码、允许访问的 IP 地址和拒绝访问的 IP 地址等参数。传统的方式是在对象内部创建依赖对象,而依赖注入则是将依赖对象的创建和管理交给外部容器,由容器将依赖对象注入到需要的对象中。常用的依赖注入的方式有构造函数的方法和通过setter方法注入,这里明显使用的是构造函数的方法注入依赖。是 Spring 提供的一个类,用于在 Spring 应用中注册 Servlet。

2025-03-20 16:00:07 966

原创 springboot第三站(1) web开发引入

使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxx。

2025-03-18 20:43:28 1039

原创 SpringBoot第三站(4):配置嵌入式服务器&使用外置的Servlet容器

Servlet 监听器有多种类型,常见的有 ServletContextListener(用于监听 ServletContext 的创建和销毁)、HttpSessionListener(用于监听 HttpSession 的创建和销毁)、ServletRequestListener(用于监听 ServletRequest 的创建和销毁)等。由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件。这样,当应用启动和关闭时,

2025-03-17 09:14:24 1048

原创 SpringBoot第三站(3):整合SpringMVC

学习springmvc和springboot的自动配置我们必须对springmvc的组件足够了解,起码知道怎么用。Springmvc的组件基本都被springboot来做了自动的配置。

2025-03-17 08:58:34 767

原创 Springboot第三站(2):thymeleaf

th:id替换idth:text文本替换th:utext支持html的文本替换th:object替换对象th:value属性赋值th:onclick点击事件th:each属性赋值th:if判断条件th:unless和th:if判断相反th:href链接地址th:switch多路选择 配合th:case 使用th:caseth:switch的一个分支布局标签,定义一个代码片段,方便其它地方引用th:include布局标签,替换内容到引入的文件。

2025-03-17 08:36:36 882

原创 Springboot学习-第二站 自动配置原理

Spring Boot在启动的时候从类路径下的META- INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作;以前我们需要自己配置的东西,自动配置类都帮我们;到这里,我们发现一顿操作以后最终是加载的META-INF/spring.factories文件,那么这个文件应该去哪里找呢,我们如果使用idea的话,那么请找到project下的External Libraries中的。

2025-03-16 09:28:03 837

原创 Springboot第一站: java开发框架与微服务

把SSM进行整合,完成了很多自动的工作,不需要去做繁琐的配置整合工作。简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;优点快速创建独立运行的spring项目以及与主流框架集成使用嵌入式的Servlet容器,应用无需打成war包,内嵌Tomcat(启动类启动后端口号是8080)Starters自动依赖和版本控制(修理工,既可以修空调,又可以修电视、洗衣机,修不同设备螺丝刀用的不同,如果一个一个做,一个一个准备。

2025-03-12 10:46:59 938

原创 IDEA创建Springboot的五种方式

所有的Springboot项目打包方式目前都是jar目前没有办法创建1.8版本,进去可以改17版本:下面将介绍IDEA21版本的创建方式(因为IDEA17版本的从阿里云官网创建有问题,所以IDEA17版本用的是三种方式<通过spring.io官网创建,从spring.io官网搭建下载压缩包,创建普通MavenJava项目后需要什么加什么>)

2025-03-09 20:27:01 891

原创 SSM框架整合

2. 在项目启动的时候,就去加载applicationContext.xml的配置文件,在web.xml中配置ContextLoaderListener监听器(该监听器只能加载WEB-INF目录下的applicationContext.xml的配置文件)。3. 在controller中注入service对象,调用service对象的方法进行测试。1. 整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式。1.目的:在controller中能成功的调用service对象中的方法。

2025-03-09 08:55:24 919

原创 JavaEE基础之- 过滤器和监听器Filter and Listener

Ø Filter的三个方法:ü void init(FilterConfig):在Tomcat启动时被调用;ü void destroy():在Tomcat关闭时被调用;ü void doFilter(ServletRequest,ServletResponse,FilterChain):每次有请求时都调用该方法;Ø FilterConfig类:与ServletConfig相似,用来获取Filter的初始化参数。

2025-03-02 23:14:08 1615

原创 EL表达式和JSTL标签

EL(Expression Language)是一门表达式语言,它对应。我们知道在JSP中,表达式会被输出,所以EL表达式也会被输出。EL表达式的格式:${…},例如:${1+2}。在使用EL表达式时,要求page指令的isELIgnored属性为false。这样JSP在编译成.java时,才不会忽略EL表达式。(因为jsp的真身是Servlet,Servlet在java文件里)如果你希望某个EL表达式被JSP编译器忽略,那么可以在EL表达式之前添加“\”,例如:\${1+2}。

2025-03-02 22:56:11 1026

原创 正则表达式

95|98|NT|2000)' 匹配"Windows 3.1"中的 "Windows",但不匹配"Windows 2000"中的"Windows"。=95|98|NT|2000)' 匹配"Windows 2000"中的"Windows",但不匹配"Windows 3.1"中的"Windows"。序列"\\\\"匹配"\\","\\("匹配"("。3. 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

2025-03-02 22:34:04 1387

原创 ssm整合项目实现基础查询功能

1. 首先创建数据库创建表格(我使用的是mysql的可视化软件,可实现由鼠标操作)

2025-03-02 20:36:11 987

原创 JavaEE基础之- ajax

要求为String类型的参数,预期服务器返回的数据类型。要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded","json"。同步 AJAX 是指在发起请求后,浏览器会暂停当前页面的其他操作,直到服务器返回响应结果,才会继续执行后续的 JavaScript 代码。

2025-03-02 17:34:39 1422

原创 JavaEE基础之-JSON

Ø JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)Ø JSON 是轻量级的文本数据交换格式Ø JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。ØJSON 具有自我描述性,更易理解。

2025-03-02 17:17:31 552

原创 JavaEE基础之-session&cookie

Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。

2025-02-28 21:09:40 1149

原创 JavaEE基础之-请求对象request与响应对象response

response对象的功能分为以下四种:Ø 设置响应头信息;URL=xxxx”);Ø 发送状态码;Ø 设置响应正文;;;

2025-02-28 10:26:11 1041

原创 JavaWeb三大组件之一-Servlet

因为现在我们的请求都是基于HTTP协议的,所以我们应该专门为HTTP请求写一个Servlet做为通用父类。由上图我们可以看出,以后再写Servlet 可以直接继承HttpServletØ Servlet 一个标准Ø GenericServlet 是Servlet接口子类Ø HttpServlet 是GenericServlet子类,一个专门处理Http请求的Servlet。

2025-02-21 19:56:56 1070

原创 JavaEE基础之- jsp

Ø JavaWeb早期:applet + servletØ JavaWeb中期:servlet,在servlet中需要写大量的Ø JavaWeb后期:JSP,只需要在html中直接添加动态信息,即java代码片段就可以了。服务器会把所有的<html>语句转换成html + java代码 + JSP动态标签 = jsp在静态页面上添加动态信息就可以了,如果是Servlet还需要一行一行的输出。

2025-02-20 22:23:41 970

原创 JavaEE基础之- xml

xml文档约束是用另一个文件来约束xml文档的结构,例如要求xml文档的根元素必须是 <students> ,在 <students> 元素下可以包含0~n个 <student> 元素,每个 <student> 元素必须有一个number属性,而且还要有三个子元素,分别为<name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。一个应用程序如果需要DOM或SAX来访问XML文档,还需要一个实现了DOM或SAX的解析器,也就是说这个解析器需要实现DOM或SAX中定义的接口。

2025-02-20 21:53:04 1243

原创 JavaEE基础之 事务

事务是数据库提供的一个特性。事务:组成各个数据的执行的单元,要么都成功,要么都不成功。

2025-02-19 21:55:22 1119

原创 JavaEE基础- sql注入问题

有预编译的功能,把SQL语句中的参数的部分使用?(占位符)来代替,可以先把编写的SQL语句先发送到MySQL服务器端,对这条SQL语句进行编译,的位置,默认从1开始,第二个参数:?* 编译后的SQL语句的格式就是固定的了,再传入任何的值,都会做?* executeUpdate() ‐‐ 执行增删改,没有参数的。* 产生预编译SQL语句的功能,解决SQL注入漏洞。这里名字是对的,故只要输入名字,密码任意都能登陆成功。然后执行它,只要有一个对,就是对的。先执行它,它是false,执行SQL语句的方法。

2025-02-19 21:19:43 531

原创 JavaEE -JDBC池化思想 与 IDEA导包

连接池作用:减少了创建连接和销毁链接的时间。

2025-02-18 23:56:25 765

原创 JavaEE基础之- 数据库与建模工具

2. MySQL数据库的安装和卸载MySQL数据库的卸载*先找到MySQL的安装路径,找到my.ini配置文件。‐‐ MySQL安装路径(my.ini没有删除)我的在 D:\mysql-5.6.49-winx64\mysql-5.6.49-winx64‐‐MySQL数据存放位置(手动删除)*直接通过控制面板卸载程序。安装MySQL安装的路径中不能有中文和空格。进行测试cmd ‐‐ 输入mysql ‐u root ‐p ‐‐ 回车 ‐‐ 输入密码 ‐‐ 进入MySQL的服务器。

2025-02-18 23:33:39 1195

原创 JavaEE基础 Tomcat与Http (下)

1.1.Http浏览器访问东西都是遵循的Http协议。1.1 HTTP 协议概念HTTP,即。所有浏览器都可以发出 http 协议。:就是规定的文本格式!例如写本书也要有格式,写总结也有格式。当然客户端发 送请求也要有格式,这个格式是已经约定的格式,所以服务器端按请求格式来获取请求信息, 然后服务器端再按照响应格式来响应,当然客户端还要按响应的格式来解析。例如:输入www.baidu.com进去之后,前面有httpHTTP 是,必须必须理解这一点!!!

2025-02-18 00:02:22 571

原创 JavaE E基础之 Tomcat与Http (上)

Tomcat 服务器由 Apache 提供,开源免费。开发学习使用最佳选择。安装 Tomcat之前需要先安装 JDK,其实无论哪一种 JavaWeb 服务器都需要先安装 JDK。我们现在使用的 Tomcat 版本可以是 Tomcat8.5 或 Tomcat9。Tomcat6 支持 Servlet2.5;Tomcat7,8,9 支持 Servlet3.0;

2025-02-17 23:39:45 1534

原创 JavaSE基本知识补充 -多线程(并发之后再详解)

目录1. 线程的创建 三种方式实现多线程的区别1.1继承Thread类1.2实现Runnable接口2.线程的执行原理3.线程的生命周期 4.并发 5.休眠6.线程间的通信7. 线程的优先级8.加入线程9.让出线程10.守护线程11.死锁12. 单例模式 13. 线程相关方法 进程:打开一个程序(微信)程序的运行 线程:一个一个聊天,每一个都属于一个单独的线程。 多个下载任务,每一个下载任务是一个线程 多线程:多个任务 Thread类就是线程的父类。

2025-02-15 17:19:54 576

原创 JavaSE基本知识补充-异常

在我们写程序的时候难免会出现错误,java中的异常机制为了提高我们程序的健壮性和容错性而存在。以后项目中会有一些跟业务相关的异常,这种异常我们必须要自定义。我们以后的项目中自定义的异常99%都是运行时的异常。我们定义的异常要继承RuntimeException在类中继承RuntimeException的构造器即可。super();我们主动的抛出异常对象的语法throw new StockException("库存不足"+stock);、,完整代码示例try {order(6);

2025-02-14 16:50:51 624

原创 JavaSE基本知识补充 -IO流

IO(Input/Output):输入和输出,指的是某个设备或环境进行数据的输入或者输出。例如:键盘的输入,再比如显示器就是输出设备,输出图像。对于java来说输入输出问题,java将它抽象成流对象来解决。以游戏程序为中心读取文件就是输入,写入文件是输出。所有的文件的传递,都变成流。从外部读取文件叫做输入。reader把游戏记录保存到外部设备(目标文件)叫做输出。writer从输入输出角度,分为输入流,输出流从数据角度,分为字符流:Writer和Reader高级的。

2025-02-13 21:15:26 931

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除