- 博客(11)
- 收藏
- 关注

原创 Hibernate缓存及查询策略研究
公司现在有一个比较旧的SSH项目,使用hibernate作为数据访问层框架。因为表之间的关系比较复杂,所以在类与类之间配置了很多的一对多,多对多关联关系,在查数据的时候会查出很多不需要的数据,导致了查询性能的低下,一次简单的分页查询却要耗时一秒以上。不过,Hibernate也提供了一些方式来提高多表查询性能:可以通过查询策略来优化生成的sql语句,也可以通过缓存来减少sql的生成。下面就介绍下我对查询及缓存策略如何优化查询性能的一些测试与研究。查询策略先介绍一下查询策略,指的是Hibernate在查询
2021-01-08 16:02:30
568
原创 Python urllib3和requests发送HTTPS请求时出现SSLError或InsecureRequestWarning
SSL为安全套接层,是HTTPS的安全基础。当证书验证失败,urlib3和requests就会抛出SSL错误。为什么证书会验证失败?这里要先说清楚HTTPS中证书的工作原理...
2022-09-06 10:28:29
21227
3
原创 解决HttpServletRequest请求流只能读取一次的问题
问题:有时候我们需要在拦截器中获取请求参数进行判断,普通表单提交的参数可以通过httpServletRequest.getParameterMap()获取,但是JSON数据需要从HttpServletRequest的流中读取。问题来了,HttpServletRequest的流只能读取一次,如果在拦截器中读取了流,那么继续向下执行到controller将无法获取到Json参数,同时会提示流已关闭。解决方法:我们可以利用HttpServletRequestWrapper来包装HttpServletRequ
2022-04-21 18:09:27
2112
1
原创 Java 内部类详解
目录1. 静态内部类定义:访问规则:2. 非静态内部类定义:访问规则:3. 内部类使用方法外部类中使用内部类:外部类以外的地方使用内部类:4. 内部类与外部类变量同名总结在某些情况下,一个类会放在另一个类的内部定义,这个定义在其他类内部的类就称为内部类,包含内部类的类则被称为外部类。内部类主要有几个作用:1.内部类提供更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问2.内部类成员可以直接访问外部类的私有数据,因为内部类相当于外部类的成员3.匿名内部类可用于创建那些仅需一次使用的
2022-04-14 12:48:51
1055
原创 Hibernate HQL中的表连接
hibernate完全是按照映射文件来解析hql语句的,所以在映射里面没有配置关联关系的话,hql里面join是完全不能使用的。解决方法:从多个表查询,用where语句替代join on示例:数据库有两表,老师表teacher和学生表student,一对多关系原HQL语句:FROM teacher t INNER JOIN student s ON t.id = s.teacher_id替代后:FROM teacher t, student s WHERE t.id = s.teacher
2022-04-07 17:57:35
1049
原创 Mysql JSON数组用于查询条件
Mysql中,有时候会把关联的id数组以JSON形式直接保存在字段中,比如:从表student主表teacher中保存了student的id数组那如何在SQL中通过JSON数组来查询老师向下的学生呢?这边是用表连接和JSON_CONTAINS函数去实现的SELECT * FROM teacher t INNER JOIN student sON JSON_CONTAINS(t.student_ids, CONVERT(s.id,CHAR)) = 1通过JSON_CONTAINS函数判断
2022-01-12 17:43:42
3526
原创 Java-通过POI给Word文档的表格增加行
目录问题描述:需要通过程序动态的给word文档中的表格添加内容POI版本:3-4适用第一种方式,createRow()创建无样式行。如果想添加样式,可以通过手动设置表边框实现第二种方式(推荐)addRow(XWPFTableRow row) 方法直接创建相同样式行问题描述:需要通过程序动态的给word文档中的表格添加内容POI版本:3-4适用解决方法:POI提供了四种方法添加行:调用createRow() 方法创建行,无样式调用addRow(XWPFTableRow row) 方法创建,有样式
2021-07-19 11:10:17
4118
3
原创 ItextPdf给PDF批量插入图片
String InPdfFile = "D:\\导入资料\\a.pdf";String outPdfFile = "D:\\导出资料\\b.pdf";String imgPath = "C:\\Users\\tang\\Desktop\\微信图片_20210621092925.png";try { PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes()); PdfStamper stamp = new PdfStampe
2021-07-01 16:50:07
1949
1
原创 mybatis-plus的自动填充功能
mybatis-plus自动填充官方文档实现方式注意事项个人测试及理解mybatis-plus提供了自动填充功能,帮助我们在插入或更新数据时自动填充字段的值。 博主主要是用来做创建时间和更新时间的自动更新官方文档实现方式注解填充字段 @TableField(… fill = FieldFill.INSERT) 生成器策略部分也可以配置public class User { // 注意!这里需要标记为填充字段 @TableField(.. fill = FieldFill.INS
2021-01-07 17:48:34
1085
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人