随笔分类 - java
摘要:mysql中在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE时,向数据库中插入一条记录: 若插入数据的主键值/ UNIQUE KEY 已经在表中存在,则执行更新操作(UPDATE 后面的操作),否则插入一条新的记录 格式 在mybatis中实现批量增加或修改 (1)参数类型
阅读全文
摘要:在进行文件上传时,特别是向普通用户开放文件上传功能时,需要对上传文件的格式进行控制,以防止黑客将病毒脚本上传。单纯的将文件名的类型进行截取的方式非常容易遭到破解,上传者只需要将病毒改换文件名便可以完成上传。 可以读取文件的十六进制的文件头,来判断文件真正的格式。 读取文件的二进制数据并将其转换为十六
阅读全文
摘要:1.org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块 toString:转换IO流、 Uri、 byte[]为String copy:IO流数据复制,从输入流写到输出流中,最
阅读全文
摘要:文件上传是web开发中经常会遇到的 springboot的默认配置为10MB,大于10M的是传不上服务器的,需要修改默认配置 但是如果修改支持大文件又会增加服务器的负担。 当文件大于一定程度时,不仅服务器会占用大量内存,而且http传输极可能会中断。 可以采用切割分片上传 html5提供的文件API
阅读全文
摘要:最近用spring boot ,在controller外面即自定义的类里报错 java.lang.NullPointerException debug了下发现@Resource注入为null 查了不少资料也没解决问题,最后终于找到一种解决办法,为了以后查找方便特意记录下来 注: 注入类的调用方法 s
阅读全文
摘要:今天用java写了批量插入运行时,报错: Error updating database. Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (1,399,241 > 1,
阅读全文
摘要:今天发现spring-boot继承mybatis启动时老是出现WARN: org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.aaa.bbb]' package. Please
阅读全文
摘要:今天在spring boot2X 里做文件上传遇到了如下错误 原来是文件大小超出了1M,spring boot 默认为1M 解决方案: 在 application.properties 添加
阅读全文
摘要:定时任务或者说定时调度,是系统中比较普遍的一个功能,例如数据归档、清理,数据定时同步(非实时),定时收发等等都需要用到定时任务,常见的定时调度框架有Quartz、TBSchedule等。 如何在Spring boot里实现定时任务呢? SpringBoot定时方式有很多种,我才用 @Schedule
阅读全文
摘要:H2数据库介绍 查看 在spring boot中集成 1.添加依赖 2.添加H2相关配置,修改application.properties文件 说明: spring.datasource.url 数据库文件 (1)内存数据库 jdbc:h2:mem:DBName 内存数据库的数据存在内存中,当程序停
阅读全文
摘要:1.设置所有者 管理文件所有者 Files.getOwner()和Files.setOwner()方法 要使用UserPrincipal来管理文件的所有者 (1)更改文件的所有者 输出 查看文件详细信息 2.ACL文件权限 Windows上支持ACL类型文件属性 使用AclFileAttribute
阅读全文
摘要:今天遇到一个问题: java写的API,ppt转图片生成的目录及文件 在使用php调用API完成后,再使用php进行删除时,遇到了删除失败的问题(php删除的部分 查看) 部署的环境是Ubuntu 导致删除失败的原因是权限的问题,因此如何修改权限呢? java.nio.file.Files包含一个方
阅读全文
摘要:区别: (1)Redis 独立程序,是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案 (2)Ehcache 直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便 与java程序是绑在一起的,java程序活着,
阅读全文
摘要:在添加权限控制后,添加方法 查看 当用户访问”获取用户信息”、”新增用户”和”删除用户”的时,后台输出打印如下信息 , Druid数据源SQL监控 为了避免频繁访问数据库获取权限信息,在Shiro中加入缓存 缓存有基于Redis和Ehcache的 基于Redis 1.Shiro集成Redis的引入依
阅读全文
摘要:上一篇文章,实现了用户验证 查看,接下来实现下权限控制 权限控制,是管理资源访问的过程,用于对用户进行的操作授权,证明该用户是否允许进行当前操作,如访问某个链接,某个资源文件等 Apache Shiro 通过继承AuthorizingRealm自定义实现ShiroRealm类,实现 doGetAut
阅读全文
摘要:在实现RememberMe时遇到如下错误 2019-06-24 15:37:49.620 WARN 12952 [nio-8088-exec-2] o.a.shiro.mgt.DefaultSecurityManager : Delegate RememberMeManager instance o
阅读全文
摘要:上一片文章实现了用户验证 查看 当用户成功登录后,关闭浏览器,重新打开浏览器访问http://localhost:8080,页面会跳转到登录页,因为浏览器的关闭后之前的登录已失效 Shiro提供了Remember Me的功能,用户的登录状态不会因为浏览器的关闭而失效,直到Cookie过期 1.修改S
阅读全文
摘要:上一篇文章中介绍了Shiro 查看 将Shiro集成到spring boot的步骤: (1)定义一个ShiroConfig,配置SecurityManager Bean,SecurityManager为Shiro的安全管理器,管理着所有Subject (2)在ShiroConfig中配置ShiroF
阅读全文
摘要:今天在集成Mapper时 出现如下错误 java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>() 遇到这个异常通常是@MapperScan配置的原因,导包导错了 解决方案:
阅读全文
摘要:今天在使用 generate 时(问题起源),由于扫描了mysql所有库下的user表,因此添加参数 添加改参数解决的原因 查看 但是添加后出现如下错误 Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plug
阅读全文