自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记:黑马程序员JavaWeb开发教程(2025.3.22)

把delete方法注释掉之后,程序没有报错了,应该是在DeptContrller和EmpController里面都有一个@DeleteMapping("/#{id}"),所以bean容器就不知道谁是谁,按道理不应该出现这个问题,因为在前面已经用@RequestMapping("/emps")规定了前面的网址,也不知道是不是版本和这个注解的用法发生了变化。找不到依赖项 'org.projectlombok:lombok:1.18.30'11.1 案例-员工管理-新增员工。

2025-03-22 21:15:53 753

原创 学习笔记:黑马程序员JavaWeb开发教程(2025.3.22)

RequeBody注解来通过实体类封装Json格式的数据。复习:@PostMapping注解用来接收Post方式的数据。11.1 案例-员工管理-新增员工。

2025-03-22 21:15:15 74

原创 学习笔记:黑马程序员JavaWeb开发教程(2025.3.21)

Foreach标签中,collection代表要遍历的集合,item代表遍历出来的每一个元素的名字,separator代表分割符,open代表前面拼接什么,close代表后面拼接什么。前端中有两个删除按键,一个是删除员工,一个是批量删除,我们只需要将删除员工作为特殊的批量删除,就是只删除一个,开发一个接口就行。用id in ()来批量删除,使用动态sql标签<foreach>来遍历。一个xml文件里只要写一个<mapper>标签。Id使用list接收。

2025-03-21 21:11:09 296

原创 学习笔记:黑马程序员JavaWeb开发教程(2025.3.21)

插件会自动的获取到要执行的sql语句,将要执行的sql语句换成count(*),自动执行这条sql语句,还会对该sql语句进行改造,在后面加上limit关键字,而limit的两个参数,PageHelper会自动根据传递上来的两个参数,来计算起始索引核每一页展示的记录数,之后就获得了分页查询的数据,将分页查询的数据封装到Page<Emp>对象中,最终获取Page对象中封装的分页查询结果。对于map层的修改,要使用where进行筛选,但是查询条件是动态的,所以要使用动态sql,动态sql使用xml文件来定义。

2025-03-21 21:10:03 450

原创 学习笔记:黑马程序员JavaWeb开发教程(2025.3.17)

出现报错:Process exited with an error: 1 (Exit value: 1),点击exec那一行,出现错误原因:Command execution failed.怀疑是没有开OSS权限,检查阿里云,访问控制 -> 用户 -> 权限管理 -> 添加权限,添加AliyunOSSFullAccess权限,重新运行代码,再次检查阿里云,上传成功!11.5 案例-文件上传-阿里云OSS-入门。

2025-03-17 16:09:56 361

原创 黑马JavaWeb课程的TliasWeb项目

写黑马JavaWeb课程的TliasWeb项目出现了问题,之前都没有问题,也不知道是不是隔了一个月再打开有问题了,或者是装了docker出现了环境问题。

2025-02-07 14:42:32 161

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.30)

在mysql中,通过limit来实现分页。

2024-11-30 18:00:00 264

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.29)

如何接收来自前端的数据: 接收到json数据之后,利用@RequestBody注解,将前端响应回来的json格式的数据封装到实体类中。发现路径中都有/depts,可以将每个方法对应请求路径中的/depts抽取到类上注解的@RequestMapping上。对代码中Controller层的优化。

2024-11-29 18:00:00 168

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.28)

前面学过的,有点忘了,@PathVariable来获取请求路径参数(前面的知识:后端:使用{…}来标识该路径参数,需要使用@PathVariable获取路径参数),下面的代码中,@PathVariable来绑定和路径的id绑定。接口文档:阅读接口文档,在接口文档中规定了当前接口的请求路径、请求方式、在请求的时候传递的参数、最终需要响应回去的数据。在前端中id和序号不一样,差点以为删除失败了,要删的没删,不要删的删了。思路分析:分析要实现这个功能,具体的流程,该怎么实现。接口开发:要遵守开发文档。

2024-11-28 18:00:00 234

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.29)

发现编辑部门和新增部门的ui是一样的,因此怀疑前端没有做更新部门的部分,也就是说当使用编辑的时候,实际走的是和新增一样的请求,输入的参数也是一样的,所以在前后端联调时,看起来就是编辑功能变成了新增功能。检查发现,在DeptController的add()方法中,使用接收参数的注解是@PathVariable,但是@PathVariable的作用是将URL中的占位符参数绑定到控制器处理方法的参数中,但是这里传的是Json格式的数据。前后端联调链接: http://localhost:90。

2024-11-28 11:14:37 423 2

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.28)

发现路径中都有/depts,可以将每个方法对应请求路径中的/depts抽取到类上注解的@RequestMapping(这个注解是为了简化路径请求新加的)上。如何接收来自前端的数据: 接收到json数据之后,利用@RequestBody注解,将前端响应回来的json格式的数据封装到实体类中。对代码中Controller层的优化。

2024-11-28 11:11:45 455

原创 Tlias智能辅助学习系统-部门管理

包括查询、新增、删除、修改功能。

2024-11-28 11:06:16 197

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.27)

看了网上的经验贴,有说到目录问题,题主的目录是把controller文件和application文件放到了两个不同的文件中,之后尝试了,将application文件放到和controller文件夹一个目录下,controller文件和application文件放到一个目录下,均失败。怀疑还是目录结构的错,也就是说,回到了问题一,直接重新在在外面写了一个application类,测试成功。

2024-11-27 18:00:00 205

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.26)

同时在前面我们学过依赖注入,@Controller注解是用于控制反转(用于Controller层),也就是将对象的控制权交给容器,再和@Autowied配合,完成依赖注入,实现分层解耦。写代码的时候,IDEA联想到的是XSlf4j,不是Slf4j,因为没有在pom.Xml文件中加上lombok的依赖,当然也有可能是因为没有导入包,因为输入@Slf4j的时候爆红了,后面用art+enter解决,就是自动的导入包,就好了。是因为多态,父类引用指向子类对象,父类(接口)的引用就能够直接调用子类(实现类)的方法。

2024-11-26 18:00:00 450

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.25)

因为请求文档中要求,请求方式必须是GET,但是目前的代码使用所有的请求方式都是可以的,所以,要在@GetMapping上加上method=RequestMethod.GET,其中,RequestMethod是应该枚举类,里面有所有的请求方式。但是这样又太麻烦了,所有可以使用@RequestMapping1的衍生注解,@GetMapping,再在里面加上请求路径就可以了,代表使用该路径,且请求方式是GET。这里面select…部分,在代码中重复的很多,如果要改,就非常麻烦,也就是复用性差。

2024-11-25 18:00:00 451

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.19)

第一点,因为配置文件必须放在resources目录下,又要保持同包同名,所以我们应该在resources目录下创建一个和Mapper所在包名名字一样的目录,把配置文件放在里面。这里有点不太理解,相同包应该是指位置一样的包,但是这个最开始的位置一个是java一个是resources,这里指的名字一样,应该只是包的名字,最开始的位置应该不算。Resources中只能创建directory不能创建包,directory要创建分层结构,之间分隔应该用/而不是.,自己觉得可以参考文件夹的地址。

2024-11-19 18:00:00 184

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.18)

需要模糊查询,根据要求,我们需要在关键词前后都加上%,但是我们不能使用‘%#{内容}%’的形式,因为#{内容}最终会变成?不能放在‘’之中,老师给出的解决方法是使用${}的方式,就是不用预编译。自己的问题是,为什么不能把%张%都写到#{}中去,因为#{}只能写输入的内容,%是本来就写好的。但是使用${}会存在性能低,sql注入的问题,因此采用concat拼接函数来解决。9.8 Mybatis-基础操作-查询(条件查询)@param注解的作用。

2024-11-18 20:50:55 297

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.9)

为了提高效率,MySQL会将优化编译过的sql缓存起来,缓存就是一块内存区域,就是用来存储数据的,下次执行sql语句的时候,会先检查缓存,看缓存当中有没有编译好的sql语句,有则直接执行,没有则走流程。在编写的delete方法中,是没有返回值的,但是实际上是有的,就是返回方法影响语句的条数,其他crud语句也是有一样的返回值(int类型),但是一般不需要返回值。在测试过程中,出现了像deptId这样没有封装到的属性,原因是因为,实体类中的属性名和数据库表中的属性名不一致。

2024-11-09 19:46:44 502

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.8)

Mybatis是在Java中编写sql语句,将sql语句发送到数据库执行在springboot中配置Mybatis,需要对springboot的默认配置文件application.properties中配置数据库的四要素:驱动类的全类名、数据库连接的url、数据库的用户名、数据库连接的密码。

2024-11-08 21:58:12 1316

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.7)

5.9 分层解耦-三层架构 三层架构:

2024-11-07 21:14:26 207

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.11.4)

数据保存在emp.xml文件中,解析XML的工具类XMLParserUtils,其中使用了dom4j的接口,因此要在pom.xml文件中引入dom4j的依赖,用于解析XML文件,实体类Emp用于封装服务器解析的数据。注意前面讲的时候return的是OK,因为前面是客户端发送数据,服务端接收,从讲实体对象封装的前面一点点开始,讲的就是客户端从服务端请求数据回来了。Springboot中可以添加前端页面,但是存储目录有规范。Classpath是类路径,对于maven项目来说,resource就是一个类路径。

2024-11-04 19:34:01 307

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.10.30)

为了减少前后端开发压力,让响应数据统一,对于所有的功能接口都会设置一个统一的响应结果,使用一个实体对象result进行接收,最终结果ResponseController的处理之后,会返回一个json对象。Json数据通过实体参数来接收和封装,在实体对象之前需要加上@RequestBody这个注释,Json对象的key需要和实体对象中的参数名保持一致。在请求参数过多的时候,可以将请求参数封装到实体对象中,也叫做实体参数,实体参数中的参数名必须和请求参数中的一致。每一个对外暴露的方法,都称为功能接口。

2024-10-30 21:58:50 504

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.10.28)

Springboot内嵌了tomcat

2024-10-29 21:47:46 146

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.10.27)

评论区有一个评论说,现在的版本和老师的版本不一样,会报错,全部下载最新的就行,但是下载最新的maven也就是maven3.9之后,还是出现了报错经过一番排查下来,发现自己用的是idea2019,应该是和maven3.9不适配,改成maven3.6之后就没问题了现在的配置是idea2019+Java8+maven3.6在创建项目的时候,因为已经到2024年,更新到不能使用Java8,因此选择换用阿里云镜像源,但是使用阿里云镜像源还是出问题,以为idea设置的问题,更改设置后,仍然失败;

2024-10-29 21:46:01 1410

原创 学习笔记:黑马程序员JavaWeb开发教程(2024.10.26)

对于异步交互的举例:浏览器中输入不同的关键词,会有不同的提示,但是浏览器没有进行刷新同步,会进行等待,在浏览器中访问链接,点击网页什么的,都是同步。异步不用等待服务器响应,可以执行其他操作原生的Ajax进行操作时,主要分三步,第一步创建XMLHttpRequest对象,来和服务器端进行数据交换;第二步调用其中的open方法来设置请求方式和请求路径,并且调用send方法来发送异步请求;

2024-10-26 20:52:26 451

原创 MySql基础34题写题记录

select avg(d_grade),deptno from (select d.grade d_grade,e.ename,e.deptnofrom emp e join salgrade d on e.sal between d.losal and d.hisal) agroup by deptno; 开始的时候没有给查询出来的表起名字,因此发生错误: Every derived table must have its own aliasselect max(avg_sal),

2024-10-26 20:49:22 833

原创 MySql基础34题写题记录(30-34)

要用ifnull处理,要不然算出来都是空,按道理取个别名,再最后排序的时候用别名效率应该高一些。再求这个表里的部门的员工工资合计,部门人数。看错题了,是部门名字里面带s的。

2024-10-24 17:25:45 238

原创 MySql基础34题写题记录(21-29)

另外一个问题是,连接时,只要求两个表的工作相同,并没有要求工资相同,这就不能把最低工资的人找出来,只能把这个工作的人找出来。问题:这里题目要求的部门是要显示部门名称,要考虑到为null的情况,在这里应该不会导致错误,因为会被忽略,只是不太好看。问题,采用了左联,意思是左边的所有都要显示,但是结果明显是不能显示所有,因此出结果的时候,出现了14行结果。这里注意在找员工和领导的时候要用外联,因为king没有领导,如果不用外联的话,会少人。再找和scott从事相同的工作的员工和部门名称。先找到销售部的部门编号。

2024-10-24 17:22:21 542

原创 MySql基础34题写题记录(11-20)

12、取得每个薪水等级有多少员工 先取每个员工的薪水等级Select e.ename,s.grade gradeFrom emp eJoin salgrade sOn e.sal between s.losal and s.hisal 接着直接分组求13、面试题(1)找出没选过“黎明”老师的所有学生姓名Select distinct s.snameFrom scJoin sOn sc.sno = s.snoJoin cOn sc.cno = c.cnoWhere c.cteache

2024-10-10 21:46:06 951

原创 MySql基础34题写题记录(3-10)

但是仍然不对,运行第一个代码,查询名字,发现得到了很多名字,也就是在每一列等会进行查询,再输出每一列不一样的,也就是笛卡尔积,这样相当于所有的人都被输出来了,所以第一步得到的最大工资是5000。当时的问题是,需不需要再进行分组,经过显示是正确的,这里应该是再得到子查询表的时候就进行了分组,因此不用在查询的时候继续进行分组。第三题得到了每个部门的平均薪水等级,在此基础上查到最低的薪水等级对应的部门名称。Limit的位置似乎是放在最后的,开始的时候放错了,放到select后面去了。再找大于最高薪水的领导人。

2024-09-28 20:18:21 393

原创 Exceise

【代码】Exceise。

2024-09-17 20:30:00 143

原创 CustomGeneric_

【代码】CustomGeneric_

2024-09-17 20:30:00 107

原创 学习笔记 韩顺平 零基础30天学会Java(2024.9.16)

当调用方法时,要传入参数,因为当传入参数时,编译器就可以确定泛型代表的类型泛型方法和方法使用了泛型是不一样的泛型方法可以使用类声明的泛型,也可以使用自己的泛型。

2024-09-16 21:36:40 565 1

原创 学习笔记 韩顺平 零基础30天学会Java(2024.9.15)

对于第二点,因为不知道类型,所以不知道开辟多少空间,因此不能初始化第三点,静态方法与类相关的,在类加载时,对象还没有创建,所以如果用了泛型,则在使用静态方法的时候不能确定泛型的类型是什么,JVM无法完成初始化对于练习题,当泛型使用的是默认,也就是object的时候,object的子类都可以被传入,比如String作为他的子类,可以被传入,double也行接口中的成员都是静态性质的。

2024-09-16 21:34:10 415

原创 学习笔记 韩顺平 零基础30天学会Java(2024.9.14)

ArrayList<Dog>arrayList = new ArrayList<Dog>()//在这里可以理解为这个arrayList里面只能放Dog类型,就是限制了类型。泛型就是可以代指一类数据类型,可以是Integer也可以是String等等,可以把泛型理解成一个类的代号,泛型的引入使数据类型可以根据后面实例化来进行变化。特别强调,E的具体数据类型在编译期间就已经确定。

2024-09-14 21:22:56 623

原创 学习笔记 韩顺平 零基础30天学会Java(2024.9.13)

TreeMap使用默认构造器取出的顺序和添加的顺序是不一样的,但是有构造器实现了Comparator接口的匿名内部类,可以按顺序排序。TreeSet的k-v其中的v是一个静态的对象,但是TreeMap的v是可以变化的。

2024-09-13 21:27:00 491

原创 学习笔记 韩顺平 零基础30天学会Java(2024.8.26)

HashMap$Node($意思是一个内部类)实现了Map$Entry,因此HashMap$Node的底层可以看成是Map$Entry(对前面有关Entry那一节课的继续理解)LinkedHashSet的底层是LinkedHashMap,LinkedHashMap的底层是HashMap,所以可以认为LinkedHashSet实际上底层是HashMap。使用TreeSet提供的一个构造器,可以传入一个比较器(匿名内部类),可以参考前面学Array时的Comparator。只要有Tree的,就可以排序。

2024-08-26 22:56:11 497

原创 Map1

package Collection;import java.util.*;//使用HashMap添加3个员工对象,要求键:员工id ,值:员工对象// 并遍历显示工资>18000的员工(遍历方式最少两种)员工类:姓名、工资、员工id//问题:前面写了一个提取键的遍历方式,但是不知道怎么由键提取值,直接用map.get(key)就可以解决public class Map1 { public static void main(String[] args) {

2024-08-24 21:26:22 122

原创 学习笔记 韩顺平 零基础30天学会Java(2024.8.24)

方法二:通过values(),取出所有的values值,要使用Collection类型来接收,因为values有重复的,之后和Collection一样的方式遍历就行了(增强for、迭代器)方法三:通过EntrySet获取,直接使用map.entrySet()得到EntrySet,之后使用增强for,再转型为Map.Entry,再使用getKey()方法。对于前面,Entry的加深理解,interator指向的是一个Entry对象,将指向的迭代器对象进行转型,转为Map.Entry。也可以使用迭代器实现。

2024-08-24 21:25:34 621

原创 学习笔记 韩顺平 零基础30天学会Java(2024.8.20)

由于是双向链表(不是table应该格子应该链表,是根据加入的,所有共同构成一条双向链表),所以加入的就有顺序了。

2024-08-20 17:34:05 588

电子密码锁-6位密码1 (2).zip

功能介绍: 1.采用AT24C02芯片可以实现存储的密码掉电保存。密码为6位,只有在开锁时密码可更改,更改时要输入两遍确认; 2.采用矩阵按键输入、1602液晶显示、继电器模拟开锁,有开锁指示灯。继电器有常开常闭触点可外接电磁锁等负载; 3.输入密码错误会提示错误次数,当次数大于3时,密码锁定; 4.忘记密码时可按密码还原键,默认密码111111; 矩阵键盘按键说明 1 2 3 确认键 4 5 6 手动关闭锁 7 8 9 修改密码 还原 0 删除键 X

2024-10-02

单片机课设程序,用的是51单片机

进入信息社会以来,随着人们生活水平和自身防范意识的提高,个人财产安全和人身安全的问题也越来越受到人们的重视,人们对于锁具的要求也越来越高,拥有一把能够有效保证居民财产安全和人身安全的锁具也越发重要。对于用户私人财产安全的问题的需求,基于单片机的电子密码锁应运而生。 本课设需要完成基于单片机的电子密码锁设计,同时根据设计要求,该电子密码锁需要完成以下功能:  通过矩阵键盘设置密码  矩阵键盘输入密码在LCD1602屏幕上显示,密码正确则启动继电器实现开锁  密码不正确将提示重新输入,三次输入错误报警并锁定键盘3分钟  输入密码过程中可选择重新输入密码  断电保存数据  可以休眠和唤醒 同时笔者根据对日常生活的观察,在已有功能的基础上进行改进,增加或修改功能,使密码锁更便于使用:  手动关锁  还原密码 在进行课设的过程中,不仅仅只是单纯的实现目标药球。在过程中我们需要用到单片机,微机原理等知识。通过课设的设计与完成来巩固之前所学的有关知识,同时将所学知识运用于实践,走出课本。

2024-10-02

STM32矩阵电子密码锁

STM32矩阵电子密码锁

2024-10-02

基于STM32F103C8T6电子密码锁

基于STM32F103C8T6电子密码锁

2024-10-02

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

TA关注的人

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