- 博客(49)
- 收藏
- 关注
原创 Docker安装ShardingSphere-proxy实现读写分离
tail -f /opt/shardingsphere-proxy/logs/stdout.log 注意这个命令需要sever.yaml文件存在。①conf目录下的global.yaml文件和database-readwrite-splitting.yaml文件。打开cmd窗口 ,注意:以下操作需要在一个局域网内并确保防火墙关闭,或开放指定的端口。mysql -h虚拟机地址 -Pproxy的端口 -u用户名 -p密码。修改文件内容,把下面的注释放开,配置成自己的。
2024-10-28 15:35:05
792
原创 MySQL实现主从同步
分别为:主服务器:test-mysql-master,端口3306从服务器:test-mysql-slave1,端口3307从服务器:test-mysql-slave2,端口3308注意:如果防火墙是开着的记得把关掉,并且重启docker,否则安装的mysql会无法启动,当然也可以dan'du#关闭docker#关闭防火墙#启动docker。
2024-10-22 22:56:19
1697
原创 使用HuTool工具实现邮件发送
在Java中发送邮件主要品依靠javax.mail包,但是由于使用比较繁琐,因此Hutool针对其做了封装。由于依赖第三方包,因此将此工具类归类到extra模块中。
2024-05-27 08:43:05
4550
原创 SpringBoot项目整合ACTable实现实体类快速生成数据库表
唯一约束的名字,不设置默认为{actable_uni_当前标记字段名@Column的name},如果设置了名字例如union_name,系统会默认在名字前加actable_uni_前缀,也就是actable_uni_union_name。索引的名字,不设置默认为{actable_idx_当前标记字段名@Column的name},如果设置了名字例如union_name,系统会默认在名字前加actable_idx_前缀,也就是actable_idx_union_name。
2024-04-12 13:50:55
1929
原创 创建uni-app项目的两种方式
1.1首先我们到官网取下载HBuilder X编辑器HBuilderX-高效极客技巧 (dcloud.io)1.2通过HBuilderX创建vue3项目1.3安装uni-app vue3 编译器插件1.4编译成微信小程序端代码,这里点击第二步后还需要选择微信开发者工具的安装目录,我因为选过所以这步直接跳过!!这里要注意的是再运行项目之前必须先到微信开发者工具中设置将下方的服务端口打开,否则运行会报错。
2024-01-22 09:06:58
876
原创 使用ElementPlus的虚拟化表格&自定义表头
1.创建一个实体用来返回虚拟化表格所需要的表头参数2.自定义一个注解,实现自定义返回的表头名和默认宽度3.通过反射的形式获取需要创建的实体的属性名,并且把所有属性名添加到返回的表头集合中4.自定义一个返回的VO,把表格的表头数据和和实际数据返回给前端。
2024-01-17 15:50:06
1147
原创 Idea中使用Hutool工具类进行Excel文件生成
在写出Bean的时候,我们可以调用对象的方法自定义Bean中key的别名,这样就可以写出自定义标题了(例如中文)。// 通过工具类创建writer//自定义标题别名writer.addHeaderAlias("name", "姓名");writer.addHeaderAlias("age", "年龄");writer.addHeaderAlias("score", "分数");writer.addHeaderAlias("isPass", "是否通过");
2023-12-04 09:35:35
3100
原创 Idea中使用Hutool工具类进行Excel文件读取
Excel操作工具封装读取Excel内容的封装,通过构造ExcelReader对象,指定被读取的Excel文件、流或工作簿,然后调用readXXX方法读取内容为指定格式。在标准的ExcelReader中,如果数据量较大,读取Excel会非常缓慢,并有可能造成内存溢出。因此针对大数据量的Excel,Hutool封装了event模式的读取方式。Excel03SaxReader只支持Excel2003格式的Sax读取。首先我们实现一下RowHandler。
2023-12-04 09:21:16
8215
原创 前端-数据交互-请求工具设计
们会使用 axios 来请求后端接口, 一般都会对 axios 进行一些配置 (比如: 配置基础地址等)一般项目开发中, 都会对 axios 进行基本的二次封装, 单独封装到一个模块中, 便于使用。利用 axios.create 创建一个自定义的 axios 来使用。这样一个基本的请求工具就设计好了!封装 axios 模块。
2023-11-27 21:05:27
93
转载 线程安全的集合类
需要注意的是,虽然这些类是线程安全的,但不一定能够满足所有的多线程操作需求,因为它们的线程安全性是一定程度上的,多线程使用时需要根据实际情况进行基于它们提供的线程安全特性的操作,或者使用其他更为强大的多线程集合实现如 ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue 等。Java 的集合框架提供了许多集合类,其中有些是线程安全的,有些是非线程安全的。
2023-09-08 14:15:30
343
原创 springboot实现简单定时任务
使用SpringBoot创建定时任务有三种方式1.基于注解(@Scheduled)2.基于接口(SchedulingConfigurer)可以从配置文件或数据库里面维护定时任务的cron , 优点:可以在不重启应用的条件下,使下一次定时任务动态生效,方便配置。3.基于注解设定多线程定时任务。
2023-08-30 09:40:23
132
原创 Vue Element UI 自定义描述列表组件
由于vue使用的版本太低,vue element UI 的描述列表不生效,但是有时候又不想换版本的可以自定义一个描述列表。
2023-08-26 09:15:53
8569
原创 EasyExcel+elementUI+vue 上传、下载文件实例
这里的实体类中因为实体类中的属性一些是int类型的转出的时候要转为对应的文字比如合同的状态(0为未确认,1为生效,2为作废)那么可以写一个工具类来进行转换。然后在@ExcelProperty中通过converter=工具类名.class来使用。如果不想导出某些属性的数据则可以在属性上加一个@ExcelIgnore注解。
2023-08-26 08:55:27
464
原创 Mybatis快速入门
在前面我们学习MySQL数据库时,都是利用图形化客户端工具(如:idea、datagrip),来操作数据库的。在客户端工具中,编写增删改查的SQL语句,发给MySQL数据库管理系统,由数据库管理系统执行SQL语句并返回执行结果。增删改操作:返回受影响行数查询操作:返回结果集(查询的结果)我们做为后端程序开发人员,通常会使用Java程序来完成对数据库的操作。Java程序操作数据库,现在主流的方式是:Mybatis。什么是MyBatis?MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。
2023-08-22 19:40:26
54
转载 Mybatis常见面试题总结
有联合查询和嵌套查询。,比如调用a.getB().getName(),拦截器invoke()方法发现a.getB()是null值,那么就会单独发送事先保存好的查询关联B对象的sql,把B查询上来,然后调用a.setB(b),于是a的对象b属性就有值了,接着完成a.getB().getName()方法的调用。接口绑定,就是在MyBatis中任意定义接口,然后把接口里面的方法和SQL语句绑定,我们直接调用接口方法就可以,这样比起原来了SqlSession提供的方法我们可以有更加灵活的选择和设置。
2023-08-03 09:50:53
83
转载 SpringMVC常见面试题总结(超详细)
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。Java 注解就是代码中的一些特殊标记(元信息),用于在编译、类加载、运行时进行解析和使用,并执行相应的处理。
2023-08-02 20:26:39
99
转载 Spring常见面试题总结(超详细回答)
IoC 的一个重点就是在程序运行时,动态的向某个对象提供它所需要的其他对象,这一点是通过DI(Dependency Injection,依赖注入)来实现的,即应用程序在运行时依赖 IoC 容器来动态注入对象所需要的外部依赖。对于某个具体的对象而言,以前是由自己控制它所引用对象的生命周期,而在IOC中,所有的对象都被 Spring 控制,控制对象生命周期的不再是引用它的对象,而是Spring容器,由 Spring 容器帮我们创建、查找及注入依赖对象,而引用对象只是被动的接受依赖对象,所以这叫控制反转。
2023-08-02 18:27:13
240
原创 Filter&Listener
1. 概念:* 生活中的过滤器:净水器,空气净化器,土匪、* web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。* 过滤器的作用:* 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤...2. 快速入门:1. 步骤:1. 定义一个类,实现接口Filter2. 复写方法3. 配置拦截路径1. web.xml2. 注解2. 代码:@WebFilter("/*")//访问所有资源之前,都会执行该过滤器@Override。
2023-08-01 14:07:52
56
原创 JQuery快速入门
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。
2023-08-01 14:07:34
53
原创 Cookie&Session
setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以共享".baidu.com"表示一级域名。response.getWriter().write("<h1>欢迎回来,您上次访问时间为:"+value+"</h1>");并指定cookie存活时间,时间到后,cookie文件自动失效,cookie会被删除。response.getWriter().write("<h1>您好,欢迎您首次访问</h1>");
2023-08-01 14:06:36
48
原创 Request&Response
/和页面的编码一致。* 如:http://localhost/day15/responseDemo2 /day15/responseDemo2。//WEB-INF目录下的资源访问。* (*)String getHeader(String name):通过请求头的名称获取请求头的值。
2023-08-01 14:06:05
33
原创 Tomcat
tomcat真正访问的是“tomcat部署的web项目”,"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源。* webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。* webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。* JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程。
2023-08-01 14:04:29
34
原创 servlet
1. 一个Servlet可以定义多个访问路径 : @WebServlet({"/d4","/dd4","/ddd4"})* Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径。* Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。* 默认情况下,第一次被访问时,Servlet被创建。
2023-08-01 14:03:31
32
原创 Git分布式版本控制工具
本地仓库和远程仓库本地仓库:是在开发人员自己电脑上的Git仓库远程仓库:是在远程服务器上的Git仓库Clone:克隆,就是将远程仓库复制到本地Push:推送,就是将本地仓库代码上传到远程仓库Pull:拉取,就是将远程仓库代码下载到本地仓库。
2023-06-30 16:06:07
172
原创 三层架构详解
主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)每一层都各负其责,那么该如何将三层联系起来呢?
2023-06-30 16:05:44
1166
原创 JDBC核心技术
JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,()使用这些类库可以以一种标准的方法、方便地访问数据库资源。JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。
2023-06-30 16:05:28
66
原创 MySQL安装与卸载教程
进入mysql官方网站后,直接滑到最下面,点击DOWNLOADS下的MySQL Community Service。第二个(大小是200多M)是离线安装,这里我们选这个,下载到本地进行安装。在下载页面,选择最下面的:No thanks,just start my download.,进入下载状态。进入后左边可以选择操作系统,默认是最新的版本,也可以点击右边的链接,意思是寻找以前的版本。第一个(大小是10多M)是联网在线安装,会在线下载安装包。虽然下载的是32为版本的,但是同时已经包含了64位版本)。
2023-06-14 10:49:18
241
原创 JavaSE项目二:校园兼职平台
项目功能结构图:项目功能如下:(1):用户通过注册进入平台,注册信息包括用户编号(用户编号决定角色类型,学号注册为兼职人员,教师编号注册为管理员),注册后到登录界面输入账号和密码登录平台,注册信息包括:用户编号(学号/教师编号)、密码、姓名、出生日期、性别、电话、所在院系、注册日期等。后期如果忘记了密码,用户通过自己的账号和注册时的姓名找回密码。注意,为了安全起见,只有已经录入系统的用户可以注册账户,本平台提前录入了部分管理员和学生的信息到系统中供大家注册。(相关存储数据可通过I。
2023-05-31 16:28:50
108
原创 类加载器&反射
是指在运行时去获取一个类的变量和方法信息。然后通过获取到的信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。
2023-05-18 09:35:20
165
原创 File&IO流
File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例从父路径名字符串和子路径名字符串创建新的 File实例从父抽象路径名和子路径名字符串创建新的 File实例示例代码。
2023-05-16 20:29:05
50
原创 Java集合
Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现Collection集合基本使用//创建Collection集合的对象//添加元素:boolean add(E e)//输出集合对象alt+7: 打开一个窗口,可以看到类的所有信息。List集合概述有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。
2023-05-16 20:28:04
44
原创 Java常用API&异常
自定义异常类老师类throw new ScoreException("你给的分数有误,分数应该在0-100之间");} else {System.out.println("成绩正常");测试类System.out.println("请输入分数:");try {
2023-04-27 14:25:52
72
原创 抽象类&接口
当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了!在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类!接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的体现在对行为的抽象!
2023-04-26 10:23:01
43
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人