- 博客(77)
- 收藏
- 关注
原创 简单的SpringMVC项目创建流程(基于XML文件(了解))
在web.xml文件中写如下代码:设置DispatcherServlet类用于接受请求,设置映射器文件为springmvc.xml。最主要的依赖是servlet的依赖,以及spring-webmvc的依赖,注意版本问题,不要导入版本过高,我导入的适用于jdk8。spring-webmvc 版本不宜过高,5.3就可以。简单的接受请求的SpringMVC项目就搭建好了。servlet依赖必须4.0.1以下。5:配置tomcat。
2024-03-28 14:04:54 650
原创 NotePad++下载
Notepad++ 是一款广受欢迎的开源文本编辑器,它提供了许多强大的功能和工具,使其成为许多程序员和开发人员的首选工具。Notepad++ 的官方网站是 https://notepad-plus-plus.org/,你可以在这个网站上下载最新版本的 Notepad++,获取更多关于该软件的信息和资源。你可以在菜单栏的 "语言" 选项中选择你正在编辑的文件的编程语言,以启用相应的语法高亮功能。你可以在菜单栏的 "插件" 选项中找到 "插件管理器",从中选择和安装你感兴趣的插件。
2024-03-06 15:14:58 765
原创 npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.
再次执行npm install ***,还不行可以尝试设置你的npm镜像源为http开头的,不使用https。npm install时报错code CERT_HAS_EXPIRED。这就说:npm的证书失效了,它不再支持自签名证书。发现我们之前配置了下载镜像源为https开头的,执行命令清除npm缓存。执行命令取消ssl验证。
2024-02-26 14:43:07 4392 2
原创 Service设计模式
② 用户的一个操作功能对应service一个方法,例如:`开卡`、`编辑卡号`、`注销卡号`、`转账`,对应方法 `openCard`、`editCard`、`removeCard`、`transfer`。\*\*`面向用户操作`\*\*的功能代码封装,Service业务层封装了用户的操作功能,一个用户操作,对应Service的一个方法。- ③ Service的java类,通常放在`service`包下或者biz包下。**Service编码规范**### (一)**场景**
2024-02-02 20:48:08 594
原创 三层架构思想
解耦合(开闭原则):业务的变更,对于Java代码的影响,应该是允许增加代码(开放增加),避免修改代码(关闭修改)。各司其职(单一职责):每个Java对象的职责尽可能单一,每个Java对象只负责做某一件事,目的是为了简单化。用户注册功能:代码中包含了显示逻辑代码和业务逻辑代码,违反了面向对象设计原则,不利于后期维护。将访问数据库、业务处理、用户交互分为三个模块,遵循单一职责,各司其职,降低耦合。Java项目三层架构。
2024-02-02 20:46:08 449
原创 JDBCUtil工具类
现有DAO代码存在大量冗余代码,可以使用XxxUtil工具类,将代码直接封装成static方法,在需要的时候直接调用。进而简化代码并提高维护性。
2024-02-02 20:44:30 1208
原创 DAO设计模式
在实际开发中,针对一张表的复杂业务功能通常需要和表交互多次(比如转账)。如果每次针对表的简单操作我们都写一遍,代码中会出现大量的代码冗余。DAO模式目的就是将SQL语句转化为通用SQL语句,并封装成Java方法、提高代码复用性。② 一个通用的SQL封装成一个方法,方法名和对应sql关键词一致,且望文生义。将重复的SQL操作提炼至方法中,达到一条SQL操作多次复用的目的。③ 具体实现采用dao接口+impl实现类的形式(③ 接口命名:对应实体类名+Dao,例如表。编写一个关于Person表的DAO操作类。
2024-02-02 20:41:45 670
原创 Entity实体设计
③ 表中的一个字段,对应实体的一个属性。实体属性必须使用包装类型。封装并提供set和get方法。事实上JdbcTemplate的RowMapper的结果集映射对象,就是ORM思想的应用。④ 必须手动提供无参构造方法(必须),如果需要也可以提供有参构造方法(非必要)💡用来和数据库中的表对应,解决的是数据格式在Java和数据库间的转换。💡Java中将所有数据库的数据,使用Java对象进行表示。① 通常一张表对应一个实体,命名规范:表名。
2024-02-02 20:40:41 506
原创 常见的JDBC异常
错误信息:创建链接时URL参数characterEncoding后面的编码格式编写错误,不应该为'xxx'原因: sql语句中使用了?占位符,但是没有给占位符赋值。参数中的characterEncoding=?错误信息:控制台输入对应的值后 抛出SQL异常。
2024-01-31 15:55:49 295
原创 MySQL数据库连接池DataSource
一个Connection对象创建,需要经历(开辟内存空间、初始化数据、建立java和MySQL之间的io连接,最后完成Connection的创建),这个过程会消耗CPU资源和JVM内存资源。2. 当Java访问数据库需要用连接的时候, 直接从连接池中获取一个conn对象。对一定数量的Connection对象,进行池化管理,可以重复利用connection对象,节约CPU和JVM内存资源。如果使用完Connection,就销毁掉,会让Connection对象创建消耗的资源白白浪费掉。
2024-01-31 15:54:18 557
原创 SQL注入
字符串拼接?站位相同动态拼接sql中的数据参数动态拼接SQL中的数据参数不同可以绑定非数据的参数:表名、字段名、SQL关键字只能绑定数据,不能绑定其他SQL关键词和表名字段名有SQL注入风险可以防止SQL注入。建议场景适用于拼接表名、字段名、SQL关键词适用于拼接数据参数。
2024-01-30 19:44:39 413
原创 MicrosoftEdge浏览器打开网页出现“此网站被人举报不安全”问题时解决办法
2、在注册表左侧展开:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\PhishingFilter(如果Microsoft下没有MicrosoftEdge\PhishingFilter,就依次新建这两个项);4、设置完成后,重启资源管理器,我们就把“SmartScreen筛选器”关闭了,如需重新开启只需将“EnabledV9”的默认数值修改为1即可。win10系统下打开网页提示“已有人举报此网站不安全”问题的就解决了。
2024-01-29 17:32:33 1468
原创 SQL分类
DDL:数据库定义语言,进行库、表、视图、索引等创建和销毁的SQL。DCL:数据库控制语言,对数据库用户进行权限设定和更改的SQL。DML:数据库操作语言,对数据进行增删改的SQL。DQL:数据库查询语言,进行查询操作的SQL。TCL:事务控制语言,控制事务操作的SQL。DCL:通常由数据库超级管理员操作。
2024-01-28 22:28:27 127
原创 MySQL 数据库 JDBC 简化 JDBCTemplate
2. ResultSet查询结果的列名,不是原表列名,而是select查询结果列名,可以由as进行别名定义。2. 如果查询结果(select后的字段名)的字段由n个单词构成,则Java类的属性名要变成驼峰命名法。1. 如果查询结果(select后的字段名)的字段由一个单词构成,则Java类的属性名要和列名一致。1. ResultSet表示的是查询结果,其数据已经是MySQL返回,并保存在Java程序中的。场景:查询t_person表中的数据,并逐条地将每个字段输出在控制台。
2024-01-26 20:49:30 901
原创 mysql 中给表单添加外键的方法
alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
2024-01-24 11:12:37 605
原创 Mysql数据库DQL查询语言之表连接(联合查询)
on e.department_id=d.department_id -- 关系字段:员工表的部门id=部门表的部门id。on e1.manager_id=e2.employee_id -- 连接条件:员工的领导id=领导的员工id。on e.department_id=d.department_id -- 员工的部门id=部门的id。on d.location_id=l.location_id -- 部门表的地址id=地址表的id。
2024-01-23 21:21:48 1091
原创 MySQL数据库查询语句之组函数,子查询语句
当一个SQL的执行需要借助另一个SQL的执行结果时,则需要进行SQL嵌套,该语法结构称之为子查询。先筛选出符合要求的数据,再对符合要求的数据进行分组时,分组的工作量会被减少,效率更高。先确定从哪张表进行操作-->对表中数据进行分组-->基于分组结果进行查询操作。执行顺序:优先执行小括号内的子SQL,根据子SQL的执行结果再执行外层SQL。执行顺序:from-->where-->group by-->select。执行顺序:from-->group by-->select。
2024-01-22 19:19:28 1351
原创 mysql怎么给用户赋权限
完成以上步骤后,用户就被赋予了相应的权限。username和password必须符合MySQL的命名规则,不包含特殊字符;也可以更换为'%',表示任何IP地址都可以连接;若想删除已经存在的用户及其权限,可以使用DROP USER语句。
2024-01-21 08:00:00 1164
原创 Mysql 数据库 DQL 数据查询语言相关sql语句(简单查询,条件查询)
- 查询所有列:select * from 表名(*:是通配符,表示所有列) select * from employees。行:是表的基本组成单位,具体数据,每行信息是一个整体,由固定字段构成。-- 满足when中的条件,便执行对应then中的结果,如果when都不满足,则最终执行else,从上往下判断。select 列名 as 别名,列名 as 别名,列名,... from 表名。列:又称为字段,是表的基本组成单位,相当于Java类中的属性。能够支持的关系运算符:> < >=
2024-01-20 15:18:27 1358
原创 如何查看其他电脑的MYSQL数据库 mysql查询另一个ip数据库
文章标签如何查看其他电脑的MYSQL数据库mysql数据库服务器MySQL文章分类MySQL数据库阅读数143如果不从远程登陆,可以用。这个时候只要在的那台电脑,登入后,更改数据库中表里的 字段,把改称,即可。1.2 授权法例如,你想用户使用密码通过 IP 地址连接到 MySQL 服务器,使用:如果你想允许用户从 IP 为的主机连接到 MySQL 服务器,并使用作为密码2.MySQL数据库基本命令2.1 基本命令2.2 注释2.3
2024-01-20 14:07:30 1057
原创 冒泡排序,选择排序,jdk排序
原理:固定一个下标位置,使其他下标位置与固定下标位置的值进行比较,根据比较结果决定是否换位。java.util.Arrays.sort(数组名):对数组内容进行。原理: 让相邻位置的值进行比较,根据比较结果决定是否换位。实现: 外层循环表示比较轮数,内层循环表示比较次数和下标。实现: 外层循环表示固定下标,内层循环表示与其比较的下标。特点: 每轮比较之后,都会从后往前确定一个位置的元素。特点: 每轮比较之后,固定下标位置的值可以被确定。
2024-01-19 15:41:51 466
原创 java中==号与equals比较的区别以及各自的作用
因为 官方认定,-128至127是包装类型中最常用的256个数字,所以在方法区中设立了整数缓冲区存放这些数字,当使用的数字在此区间之内,将不会开辟堆空间,使用缓冲区中的内容,目的为减少空间浪费,节约空间资源。所以只要是整数缓冲区的数字,就相当于在整数缓冲区开辟了相同的空间,所以==号比较两个引用的地址相同,返回值为true。(1)equals()比较基本类型时比较的也是内容,所以一般比较基本类型时用==号就可以了。比较引用类型时比较的是地址(比较包装类时比较的也是地址)类库中的引用类:已经重写,直接调用。
2024-01-18 19:34:40 547
原创 java基础之设计模式(单例模式,工厂模式)
键值不可添加双引号、末尾不可添加分号、中间不可存在多个符号(如空格)在懒汉式的基础上,利用同步代码块结合二次校验提高执行效率。是一种底层技术,通常用于底层框架的编写。思路: 将数据的创建和维护交由工厂完成。需求: 构建一个工厂类,获取学生对象。作用: 存放被管理类的全限定名。在获取实例是创建唯一对象。一个类只能创建一个实例。缺点: 有可能浪费空间。在项目下创建后缀名为。一行只能有一个键值对。
2024-01-17 16:25:59 883
原创 java基础之反射
/利用有参构造器获取类的实例对象 Student student3 = con.newInstance("张三", 20, 88.5);//无泛型的类对象-构建类的实例 Student student1 = (Student) c1.newInstance();//有泛型的类对象-构建类的实例 Student student2 = c2.newInstance();> getDeclareConstructor(参数列表的类对象): 获取类对象中的有参构造器对象。利用有参构造获取类的实例。
2024-01-17 16:23:23 442
原创 java基础之线程练习题
A.线程对象必须实现Runnable 接口B.启动一个线程直接调用线程对象的 run()方法C.Java 对多线程同步提供语言级的支持 synchronizedD.一个线程可以包括多个进程 A. 一个虚拟处理器(CPU) B. 执行的代码 C. 代码操作的数据 D. 以上都不是A.一旦一个线程被创建,它就立即开始运行 sleepB.使用start()方法可以是一个线程成为可运行的,但它不一定立即开始运行C.最多只能有一个线程处于就绪状态D.调用sleep
2024-01-16 16:19:28 1105
原创 java基础之线程安全问题以及线程安全集合类
当开启互斥锁之后,线程想要访问对象,则在需要拥有时间片的基础上也拥有锁标记,锁标记只能被一个线程拥有,拥有时间片和锁标记的线程才能执行自身内容,在此期间,其他线程只能等正在执行的线程执行结束释放锁标记和时间片之后才能进入就绪状态。当集合进行写(增删改)操作时,会先复制出一个副本,在副本中进行写操作,如果过程中出现线程安全问题,则舍弃当前副本,重新复制新的副本重复操作,直至副本中无异常,再将集合引用地址转换向副本地址,一次确保原集合中一定不会发生安全问题。JDK5.0,发布了一批无锁机制的线程安全的集合类。
2024-01-15 15:03:11 583 2
原创 java基础之线程知识点
当一个任务需要多次执行时,如果将任务放置于线程对象Thread中,会浪费内存空间导致不合理的并发,线程池可以解决该问题。
2024-01-15 15:00:12 897
原创 java基础之IO字符流练习题
而Print Writer中print(Object obj)方法是调用了对象中的toString()方法把对象变为了字符串,存入到文本中去,所以该方法引用的对象可以不用序列化 不用implements Serializable接口。writeObject(Object obj)存放到文本中是以对象形式的,输出的也是对象 所以该方法调用的对象必须实现序列化接口 implements Serializable 以此表明是可读的。(2)为了让该对象某个属性不参与序列化,应当使用。
2024-01-13 17:37:23 1181
原创 关于ObjectOutputStream对象输出流与ObjectInputStream对象输入流:写入以及读出没有错误,但是写入的文件出现乱码的问题,该现象与UTF-8,GBK等字符集编码格式无关
对象流写入文件本身就是乱码的,对象流中有一个机制是魔数机制,魔数机制,可以把写进去的字符加密,但是idea会识别到编码错误,其实是正确的加密而已。对象流写入文件本身就是乱码的,对象流中有一个机制是魔数机制,魔数机制,可以把写进去的字符加密,但是idea会识别到编码错误,其实是正确的加密而已。2:发现写入与读出的结果一致,但是打开写入的.txt文本发现文本出现乱码,并且idea编译器会报错提示字符编码集错误。(3)打开ObjectOutputStream流写入的文本发现乱码。(2)控制台输出与代码写入一致。
2024-01-13 15:05:13 589
原创 如何在使用JetBrains IDE时文本编辑更高效?这个IdeaVim好用
2023-10-12 09:25:43©著作权文章标签文章分类阅读数IdeaVim 插件已经发布一段时间了,它帮助开发者利用 Vim 的强大功能扩展。JetBrains 内部有一个专属团队维护此插件,这为您提供了两项优势:以键盘为中心的编辑器和 IDE 的支持。Vim为文本中的跳转和修改带来了许多灵活性,移动操作使其成为最受开发者欢迎的文本编辑器之一。在 Vim 中编辑文本非常高效,无需鼠标即可快速导航。在这篇博文中,我们将详细介绍 IdeaVim 插件、其主要功能以及上手方法。
2024-01-13 14:04:35 1170
原创 java基础之IO流之字符流
pw只是在读写对象引用的toString方法的结果,并未读写对象的完整信息,所以无法对对象进行序列号及反序列化。基于字节节点流对象. 将字节流中的内容转换为字符流,并在转换过程中设置数据传输的编码集。pw对象中的print|println方法写对象与对象过滤流写对象的区别?对象过滤流是在读写对象的完整信息,所以可以对对象进行序列号及反序列化。println(值): 向目标文件写入一个数据,默认换行。print(值):向目标文件写入一个数据,默认不换行。println(): 向目标文件写入一个空行。
2024-01-12 14:06:14 479
原创 解决删除或增加时发生Cannot delete or update a parent row: a foreign key constraint fails报错,删除带有外键关联的数据
【代码】解决删除或增加时发生Cannot delete or update a parent row: a foreign key constraint fails报错,删除带有外键关联的数据。
2024-01-11 10:04:52 668
原创 java基础之IO 节点流 缓冲过滤流 练习题
(2)利用FileInputStream 读入test.txt 文件,并在控制台上打印出test.txt 中的内容。(1) 用FileOutputStream 往当前目录下“test.txt”文件中写入“Hello World”;(2) 读取文件中的内容,将读取的内容连接为一个字符串,并将所有的大写字母转变为小写字母打印输出转换的结果。(1)将 26 个大写字母(A~Z)写入到当前项目a.txt 文件中。(2)有参数的read(byte[] bs)方法的返回值表示。F. .txt 文件。
2024-01-11 09:01:34 922
MySQL数据库在idea中的增删改查,JDBC简化,JDBC工具类封装,orm模式,数据库三层架构,JDBC事务
2024-01-31
java基础知识,包含了javase基本的知识,通俗易懂,好看入味
2024-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人