自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

但是因为只有后缀一样,所以不能进行自动注入,需要指定前缀,使用@ConfingurationProperties这个注解并通过prefix这个属性来指定前缀,引入之后,会有警告,是因为在配置文件中进行相应配置,引入依赖,这个依赖可以在配置的时候有提示。配置项自动注入,需要保持KEY的属性名一样,需要在文件中加上@Data注解,要将这个类交给IOC容器管理,使其成为IOC容器的Bean对象,所以需要再加上一个注解@Component。11.10 案例-配置文件-yml配置文件。

2025-05-09 19:52:00 68

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

和老师给的代码比了一下,是@PutMapping("/emps/{id}"),动态id这里,多加了一个#,变成了/#{id},所以报错了,应该是用法不对。引用外部工具,需要硬编码赋值的多,而且过于分散,不太合适,把赋值写到properties中,并且在工具类中使用@Value(spring里面的)赋值。怀疑是username或者是name重复了,这里可能设置了一个唯一约束,所以将这两项进行修改,成功。Yml格式的配置文件的后缀可以是yml,也可以是yaml,不同配置方式对应不同格式。

2025-05-09 19:51:18 233

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

数据查询回显之后,在表单中展示原有的数据,在原有的数据基础上修改员工的基本信息,修改完毕之后点击保存,将修改后的数据提交到服务端,最终修改数据库表中的数据。在接口里面只需要完成一个操作,调用阿里云OSS的工具类,将接收到的文件上传到阿里云OSS对象存储服务中,交给OSS来管理,再将获取到的URL返回给前端。在服务层,需要补充基本信息,也就是更新时间,在Mapper层,使用动态SQL,动态SQL解决多余逗号的问题,把set关键字替换成<set>标签。11.7 案例-修改员工-修改员工。

2025-05-07 22:13:12 582

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

接收到上传的文件之后,需要将文件存储,交给阿里云OSS进行管理,需要调用OSS的api完成文件上传,将文件交给阿里云OSS来存储,在阿里云OSS存储中,每一个文件都要归属于某一个存储空间Bucket,所以在上传的时候,需要指定上传存储到哪一个存储空间Bucket当中。怀疑是没有开OSS权限,检查阿里云,访问控制 -> 用户 -> 权限管理 -> 添加权限,添加AliyunOSSFullAccess权限,重新运行代码,再次检查阿里云,上传成功!11.5 案例-文件上传-阿里云OSS-入门。

2025-05-07 22:12:21 465

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

运行main方法之后,出现了报错:Process exited with an error: 1 (Exit value: 1)。在阿里云的文件列表里也没有看见上传的图片,说明有问题。11.5 案例-文件上传-阿里云OSS-入门。

2025-04-25 20:21:39 144

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

11.5 案例-文件上传-阿里云OSS-入门。

2025-04-25 20:21:06 132

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

上传文件代码中,需要根据自己情况修改的点。11.5 案例-文件上传-阿里云OSS-入门。

2025-04-22 20:38:46 140

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

文件名后缀解决,找到文件最后一个点的位置,截取点及其后面的字符,得到扩展名。代码实现,找到最后一个点的位置,使用方法originalFilename.lastIndexOf(“.”),括号里面是指定最后一个点的位置,这样就获取到了位置的数值;接下来构建文件名,将UUID和扩展名拼接,直接用+号就可以。使用阿里云的准备工作。Bucket是阿里云OSS中的存储空间,存储空间是用户用于存储对象(0bject,就是文件)的容器,所有的对象都必须隶属于某个存储空间。11.4 案例-文件上传-阿里云OSS-准备。

2025-04-22 20:38:00 436

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

代码优化,上传同名文件时,会被覆盖,问题在于是使用原始文件名直接存储的,为了保证不被覆盖,应该构造唯一的文件名,采用uuid解决。在输出日志代码处打了一个断点,看服务端接收到的数据,在上传文件的保存地址中,可以看到,有三个临时文件(.tmp),分别对应三个提交的表单项。放行之后,再看,三个临时文件不见了,只要文件上传请求响应完毕之后,临时文件会被自动删除,所以除了上传文件,还需要保存文件。通过postman完成文件上传,网址正常写,但是选择Body中的from-data,在下面指定表单项的内容。

2025-04-20 20:35:53 309

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

普通的表单项以前怎么接收,现在就怎么接收,就是通过传参的方式接收。提交上来的文件,用MultipartFile这个api来接收,但是需要保持表单上的名称和方法形参上的名称保持一致;表单上的名字和方法形参的名字不一样,可以用注解@RequestParam来进行绑定,其中指定的value属性是前端传递的参数名。文件上传的前端页面的代码需要放到springboot项目的static里面,也就是resource文件夹下面的static文件夹里面。11.2 案例-文件上传-简介。

2025-04-20 20:33:58 277

原创 学习笔记:黑马程序员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 768

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

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

2025-03-22 21:15:15 77

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

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

2025-03-21 21:11:09 307

原创 学习笔记:黑马程序员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 456

原创 学习笔记:黑马程序员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 379

原创 黑马JavaWeb课程的TliasWeb项目

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

2025-02-07 14:42:32 162

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

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

2024-11-30 18:00:00 267

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

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

2024-11-29 18:00:00 172

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

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

2024-11-28 18:00:00 242

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

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

2024-11-28 11:14:37 446 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 206

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

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

2024-11-27 18:00:00 213

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

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

2024-11-26 18:00:00 455

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

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

2024-11-25 18:00:00 456

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

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

2024-11-19 18:00:00 189

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

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

2024-11-18 20:50:55 299

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

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

2024-11-09 19:46:44 503

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

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

2024-11-08 21:58:12 1387

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

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

2024-11-07 21:14:26 213

原创 学习笔记:黑马程序员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 321

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

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

2024-10-30 21:58:50 507

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

Springboot内嵌了tomcat

2024-10-29 21:47:46 149

原创 学习笔记:黑马程序员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 1462

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

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

2024-10-26 20:52:26 460

原创 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 834

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

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

2024-10-24 17:25:45 242

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

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

2024-10-24 17:22:21 552

原创 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 953

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

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

2024-09-28 20:18:21 395

电子密码锁-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关注的人

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