- 博客(34)
- 收藏
- 关注
原创 使用mybatisPlus自带的分页方法+xml实现数据分页
后面发现可以直接使用mybatisplus自带的分页,不依靠pagehelper实现多表关联分页;xml:这里我用的返回结果是reulttype因为我的类和数据库中的字段是驼峰对应的,不一致的字段需要使用resultmap来进行一一映射,包括如果返回结果包含了类类型或者集合类型也是需要使用resultmap进行映射。
2025-04-17 14:16:00
209
原创 使用mybatisplus-join自带的分页方法进行分页查询,不依靠pagehelper,不写xml文件
不能导入错了,ProvinceSorce就是对应数据库的实体类了,用来接受对应的字段;最后这个tableddatainfo是自己封装的返回方法,实际开发中如果不想封装可以直接返回list数据,也就是page.getRecords;的作用:在分页的时候会执行两条sql。附:TableDateInfo返回类,这里的状态码就自己设置了就可以了。
2025-04-09 11:05:51
205
原创 java利用map的computeIfAbsent实现数据库的pivot行转列操作:
我需要进行行转列的是字段是:reportdate,average。
2025-04-03 14:50:33
123
原创 关于子查询优化
要求查询a结果集不存在与b中数据,可以利用left join的特性:查询关联表中的数据,即使被关联表中数据不匹配,其中如果查询字段如果有被关联表中的字段,那么不匹配的字段值就为null;可以利用这个特性优化。这个·结果集要求b.id为null,其实就是查询的和被关联表中不匹配的数据。
2025-04-01 16:17:30
188
原创 hutool工具发送post请求,请求参数类型为application/x-www-form-urlencoded
【代码】hutool工具发送post请求,请求参数类型为application/x-www-form-urlencoded。
2025-03-19 10:15:18
333
原创 Node报错:Error: error:0308010C:digital envelope routines::unsupported
这个错误通常与Node.js的加密模块有关,可能是由于使用了不支持的加密算法或者Node.js版本与某些依赖库不兼容导致的;第一次遇见这个错误时,我原先node版本是16,升级到18就好了;但是后面启动时还是报这个错误,网上也提供了很多解决办法,大部分是。启动前先输入 $env:NODE_OPTIONS="--openssl-legacy-provider"但是这种办法我试过,对我还是没用;再输入启动命令,就可以成功启动了。启动前端项目时,报错。
2025-03-13 09:22:11
321
原创 mybatisPlus中创建子查询条件 nested
数据两条,符合在前提过滤条件下的子集数据,会发现(task_record_person = '刘龙' OR task_head_person = '刘龙' OR task_contact_person = '刘龙')会用()单独括起来,优先级更高。预想的是2条数据,实际是4条数据,和预期不符合,这是因为and的优先等级高于or,实际执行的sql变成了。当用户非admin时,传入一个模糊匹配的条件,且这个条件和前置过滤条件冲突,执行的sql就类似于。执行生成的sql变成了。
2025-02-21 10:56:44
236
原创 java通过IO流实现文件下载
/通过文件id查询数据库中文件存储路径,再通过io流将其转换成二进制文件下载。测试效果:使用postman测试。//核心,输入二进制输出文件。//设置http响应头。
2025-02-08 10:46:14
293
原创 AOP+自定义注解实现将返回值进行转换:实现将用户名字段转换成用户别称+用户对应科室
【代码】AOP+自定义注解实现将返回值进行转换:实现将用户名字段转换成用户别称+用户对应科室。
2025-02-05 12:01:00
112
原创 com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Class must not be null
最后也是查询到了可能这个错误通常是由于 MyBatis-Plus 在启动时无法找到或加载某个必须的类(例如实体类、Mapper 类等)导致的,但事实上我都包层级都没有错误;最后也是排查到我昨天写的mapper接口,真相大白了,平常我喜欢提示导入包后直接enter,直接给我把接口导入进来了。最后也是完美解决了,就是说导包一定要认真看一下。
2025-01-07 11:08:02
747
原创 idea编辑debug窗口的reset frame回退按钮
当程序debug运行的时候,reset frame按钮就会显示了。找到View->customize menus。放在两个----------中间即生效了。搜索: reset frame。
2024-12-23 13:08:18
237
原创 idea编辑区域ctrl+鼠标左键,不显示鼠标指针状态
昨天想看下方法的具体实现类,发现就是不显示鼠标的指针状态,一直是文本输入状态网上也找了各种方法,说的最多是因为下载了Idea Vim插件,卸载就好了,还有说是因为频繁修改修改系统时间,把系统时间调后重启idea就好了;尝试后,显然我的问题不属于这两种这是我最后的解决方法:将电脑的指针选项设置为 当按ctrl键时显示指针位置。
2024-12-07 09:26:51
517
原创 Redis在windows环境下启动
输入 redis-server.exe --service-install redis.windows.conf 这个命令会使用配置文件将 Redis 安装为服务响应后输入redis-server.exe --service-start启动redis服务。
2024-11-22 16:12:02
2587
原创 Swagger2
ApiModel(description = "SpuInfo商品信息")定义在熟悉上 @ApiModelProperty(value = "商品名称")@Data@ApiModelProperty(value = "商品id")@ApiModelProperty(value = "库存")@ApiModelProperty(value = "价格")@ApiModelProperty(value = "sku名称")
2024-11-22 14:51:25
322
原创 Idea如何断开已连接的git,从新连接新的Gitee
1.删除diea项目下.idea配置文件下的vcs.xml文件,这里存储版本控制相关的信息,如 Git、SVN 等。2.删除项目文件夹下的.git文件,这个文件就是git的本地仓库。
2024-11-12 02:38:33
1219
原创 Redis的序列化问题:
是由 Java 对象序列化为二进制数据后产生的内容。这种情况通常发生在使用。springboot中通过配置类配置redis的序列化。redis中显示,你看到的。序列化后结果正常显示。
2024-11-10 04:23:33
126
原创 使用@Data注解,设置属性规范,属性值丢失问题
避免使用类似aName的属性名称,@data注解,提供的构造方法默认是getAName()或者直接以表单形式传输,不添加@requestBody注解,一般还是建议。json转换以及idea生成的get方法是getaName()因此,如果以json格式传输数据时,属性值可能会丢失。
2024-11-10 02:26:50
257
原创 Apache Commons BeanUtils将map映射到实体类
【代码】Apache Commons BeanUtils将map映射到实体类。
2024-10-29 14:14:40
240
原创 java.util.scanner
Deditable.java.test.console=true启用idea中的可编辑控制台输入。点击Help->Edit Custom VIM Options,在文档中添加代码。idea控制台无法输入,显示 the view is reda-only。
2024-09-25 00:13:47
156
1
原创 springboot项目@RequestBody注解加和不加的区别,已经如何使用postman进行测试
说明:不使用@RequestBody注解时,可以接收Content-Type为application/x-www-form-urlencoded类型的请求所提交的数据,数据格式:aaa=111$bbb=222。不加@RequestBody可以支持表单的默认格式,但是不能处理json格式的数据(在restTemplete进行远程服务调用时,是以json格式进行实体类传参的,所以对应被调用的接口应该加上@Requestbody注解去接收json数据)使用postman进行测试时,需要指定json格式数据。
2024-05-24 18:11:43
757
1
原创 通过使用org.springframework.web.client.RestTemplate发送HTTP请求访问接口
二:发送post请求,携带基本类型参数。三:发送post请求,携带类类型参数。一:发送post请求,调用无参接口。
2024-05-24 15:03:13
370
1
原创 idea工具下git的checkout操作
3.更新远程master的代码,先cheakout到本地master,然后将本地dev分支的代码合并到本地master,最后由本地master push到远程master。2.RemoteBranches下checkOut是将当前远程分支切换到本地 并且自动创建一个新的本地分支。1.localBranches下checkOut是切换当前本地分支到其他本地分支。4.从远程dev下checkout下本地分支dev对应的就是远程dev,不可更改。
2024-05-13 11:30:21
361
空空如也
MybatisPlus+MybatisPlusJoin
2024-12-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人