问题与方法
llxxqq5
一个小白的记录
展开
-
JDK8版本过高引起MySQL连接失败:javax.net.ssl.SSLHandshakeException: No appropriate protocol
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError...原创 2022-02-14 22:43:20 · 1150 阅读 · 0 评论 -
Linux安装Redis 与 Redis基本语法
非关系型数据库: Redis就是一款NoSQL。 Redis介绍 有一位意大利人Salvatore,在开发一款LLOOGG的统计页面,因为MySQL的性能不好,自己研发了一款非关系型数据库,并命名为Redis。 Redis(Remote Dictionary Server)即远程字典服务,Redis是由C语言去编写,Redis是一款基于Key-Value的NoSQL,而且Redis是基于内存存储数据的,Redis还提供了多种持久化机制,性能可以达到110000/s读取数据原创 2022-01-15 23:28:55 · 181 阅读 · 0 评论 -
Linux中Docker的使用
1.Docker的思想 集装箱:会将所有需要的内容放到不同的集装箱中,谁需要这些环境就直接拿到这个集装箱就可以了。 标准化: 运输的标准化:Docker有一个码头,所有上传的集装箱都放在了这个码头上,当谁需要某一个环境,就去搬运这个集装箱就可以了。 命令的标准化:Docker提供了一些列的命令,帮助我们去获取集装箱等等操作。 提供了REST的API:衍生出了很多的图形化界面,Rancher。 隔离性:Docker运行集装箱内..原创 2022-01-15 15:00:35 · 5572 阅读 · 0 评论 -
Linux用户与用户组的操作
用户的常用操作命令Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,并且以这个账号的身份去操作Linux。(跟之前学的mysql用户类似)用户账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源的访问。用户添加useradd [-cgd] [选项指定的具体内容] 用户名# -c:代表comment,给用户添加一段注释# -g:代表group,可以修改用户的所在组# -d:代表指定用户的HOM原创 2022-01-15 13:38:18 · 765 阅读 · 0 评论 -
Linux的压缩包命令
针对tar命令Linux中常用的压缩包,大多是.tar,.tar.gz,tgz的解压压缩包针对压缩包后缀的情况,采用不同的参数,否则可能会损失文件tar [-zxvf] 压缩包名称 [-C 路径]# -z: 代表压缩包后缀是.gz的# -x: 代表解压# -v: 解压时,打印详细信息# -f: -f选项必须放在所有选项的最后,代表指定文件名称# -C 路径: 代表将压缩包内容解压到指定路径打包成压缩包可以将多个文件以及目录打包成压缩包,根据选择的参数指定压缩原创 2022-01-15 11:43:51 · 2553 阅读 · 0 评论 -
Linux系统命令简单介绍
Windows的目录结构是带有盘符的。D: E: C:,而Linux中是没有盘符的在Xterm中输入ls / 查看Linux的顶级目录/下面的东西Linux常用目录: root:该目录为系统管理员HOME目录 bin:这个目录下放着经常使用的命令 boot:这里存放的是启动Linux时的一些核心文件 etc:存放系统管理所需要的配置文件和子目录 home:普通用户的HOME目录 usr:默认安装软件的目录,类似Windows中的Pr..原创 2022-01-15 10:37:04 · 1701 阅读 · 0 评论 -
springMVC文件上传(两种方式)
先导入需要用到的依赖:<!--文件上传依赖包--><dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></dependency><dependency> &..原创 2022-01-14 08:26:10 · 3178 阅读 · 0 评论 -
SpringMVC中json数据处理
JSON数据的转换需要依赖JSON转换包,所以我们需要先在工程中添加如下依赖包<!--用于JSON数据转换--><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.6</version></depen...原创 2022-01-06 17:51:00 · 505 阅读 · 0 评论 -
SpringMVC中配置静态资源(webapp下的js或者css样式等)
(1)静态资源无法访问目录结构如下放置但此时无法直接访问静态资源,访问会出404错:(2)原因分析在web.xml中,SpringMVC的前端核心控制器拦截的请求是所有请求,当我们请求图片的时候或者请求js的时候,都会被SpringMVC核心前端控制器拦截,此时会根据请求的路径查找对应的控制器(找对应类的方法)来处理该请求,而项目中,不存在处理对应静态资源的控制器,所有也就报404错误了。(3)静态资源映射SpringMVC提供了静态资源映射处理配置,只需要在sp原创 2022-01-06 17:41:18 · 2093 阅读 · 0 评论 -
SpringMVC特有的重定向和转发
SpringMVC自身也提供了重定向和转发,不论是重定向还是转发,返回类型都为String,但返回的String都需要在前面加上特殊的重定向或者转发的英文字母字符↓重定向: return "redirect:http://www.baidu.com";转 发:return "forward:/WEB-INF/pages/user.jsp";@RequestMapping(value = "/rf") public String method(Model model) throws原创 2022-01-06 17:21:53 · 205 阅读 · 0 评论 -
SpringMVC中handeler返回值为void的情况 以及返回ModelAndView
返回void(1)返回页面如果返回值为void,此时会跳转到 prefix+uri+suffix 对应的页面,如下代码实现:如上图代码,此时返回为void,会跳转到/WEB-INF/pages/user/void.jsp页面,如果该页面不存在,会报404错误。(2)输出数据返回类型为void,可以结合ServletAPI直接给用户输出一些数据,如下代码:(3)重定向/转发返回类型为Void的时候,还可以利用ServletAPI实现重定向与转发,代码如下:im..原创 2022-01-06 17:19:05 · 591 阅读 · 0 评论 -
idea空包被折叠 idea包名不按级分层显示
相信才使用idea的用户应该会有这样的烦恼,开始创建了比较深的包,但前面的包是空的,回去再创建文件的时候比较麻烦,在此只要一些设置就可以解决:开始的情况是这样的:已经展开了还是没有按级显示,空包折叠了这时只要找到项目上的设置按钮:再把图中的两个选项取消勾选就可以了取消后显示效果如下:能够按级显示,并且空文件夹也没有折叠,新建文件也不再需要小心翼翼。...原创 2022-01-06 10:26:31 · 4406 阅读 · 1 评论 -
xml文件中&出现报错问题:Unescaped & or nonterminated character/entity reference
解决方式1:将“&”改写为“&”一些转义字符在特殊情况下需要转义解决方案2:使用CDATA区:当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这时应该使用CDATA段。在CDATA段中出现的“<”、“>”、“"”、“’”、“ & ”都无需使用转义字符,但CDATA段中不能包含“]]>”,即CDATA段的结束定界符。...原创 2022-01-05 16:41:00 · 3123 阅读 · 0 评论 -
idea的注释老是从行首开始
新安装的idea一般注释都是从行首开始,这样就没有对齐下面的代码,很丑:这可以在设置中修改左侧找到Editor/Code Style/Java,也可以直接用搜的把勾勾都去掉同样的xml中的注释也可以设置...原创 2022-01-05 15:18:49 · 2229 阅读 · 2 评论 -
Markdown编辑器语法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2022-01-05 08:53:49 · 55 阅读 · 0 评论 -
SpringMVC中Model的使用
SpringMVC会把Model(模型信息)中的的数据放入到request域对象中,页面可以通过EL表达式来取request域中的数据。我们可以先写一个案例,在后台使用Model的addAttribute方法,页面使用EL表达式取数据。创建ModelController@Controller@RequestMapping(value = "/model")public class ModelController { /** * Model的使用 * @param...原创 2022-01-04 19:33:49 · 1781 阅读 · 0 评论 -
SpringMVC 常用的注解
RequestParam注解(1)注解介绍作用:把请求中的指定名称的参数传递给控制器中的形参赋值 属性 value:请求参数中的名称 required:请求参数中是否必须提供此参数,默认值是true,必须提供 defaultValue:默认值(2)案例创建RequestParamController类,并在类中添加add方法,代码如下:@Controller@RequestMapping(value = "/annotat原创 2022-01-04 19:31:07 · 231 阅读 · 0 评论 -
typora没按标题格式显示,显示#### ,高亮不显示==key==
这是不严谨的显示方式:要显示标题,看看是否在偏好设置Markdown勾选了严格模式:如果勾选了,去掉,重启就可以正常显示标题如果高亮没显示,则是否没勾选扩展语法中的高亮?如没勾选,勾上,再重启就可以可。...原创 2022-01-03 19:26:47 · 4102 阅读 · 1 评论 -
spring AOP
AOP:全称是Aspect Oriented Programming即:面向切面编程。简单的说它就是把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法进行增强。AOP的作用及优势作用: 在程序运行期间,不修改源码对已有方法进行增强。优势: 减少重复代码 提高开发效率 维护方便AOP的实现方式 使用动态代理技术动态代理的特点字节码随用随创建,随用随加载。 它与静态代理的区别也在于此。因为静态代理是字节码一上来就创建好,.原创 2021-12-29 20:29:10 · 71 阅读 · 0 评论 -
spring配置数据源(dataSource)的方法
通过配置文件:配置文件:driverClass=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mydb1user=rootpassword=123其中用户名与密码要填写自己的在spring-config.xml XML文件中配置如下:<!-- 加载配置文件--><context:property-placeholder location="classpath:jdbc.properties原创 2021-12-30 15:25:32 · 4522 阅读 · 0 评论 -
spring框架利用xml配置文件配置事务的方法
背景:模拟银行转账,为确保安全性,一般都要使用事务:比如有转账的业务,其中有转账的方法,dao层略:public class AccountServiceImpl implements AccountService { private AccountDao accountDao; public void setAccountDao(AccountDao accountDao) { this.accountDao = accountDao; } @Ov原创 2021-12-30 15:19:18 · 547 阅读 · 0 评论 -
动态代理的两种方式(JDK官方的Proxy类)(第三方的CGLib)
基于接口的动态代理提供者:JDK官方的Proxy类。要求:被代理类最少实现一个接口。接口:interface Istart{ public void sing(String song);}实现类:class Baobao implements Istart{ @Override public void sing(String song) { System.out.println(song); }}JDK的代理类:原创 2021-12-30 11:24:45 · 128 阅读 · 0 评论 -
WARN: Establishing SSL connection without server‘s identity verification is not recommended.
WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existin原创 2021-12-25 11:09:10 · 222 阅读 · 0 评论 -
idea开发过程中出现内容丢失,进行历史回溯办法
file-->local history-->Show History以上就是idea找回历史修改。可以帮助Git拉取后丢失的代码找回原创 2021-12-25 09:05:12 · 1732 阅读 · 0 评论 -
MyBatis缓存(Cache)
概念:内存中的一块存储空间,服务于某个应用程序,旨在将频繁读取的数据临时保存在内存中,便于二次快速访问。无缓存:用户在访问相同数据时,需要发起多次对数据库的直接访问,导致产生大量IO、读写硬盘的操作,效率低下有缓存:首次访问时,查询数据库,将数据存储到缓存中;再次访问时,直接访问缓存,减少IO、硬盘读写次数、提高效率一级缓存SqlSession级别的缓存,同一个SqlSession的发起多次同构查询,会将数据保存在一级缓存中。注意:无需原创 2021-12-24 21:03:31 · 330 阅读 · 0 评论 -
baseservlet封装(只关注参数传递,不关注参数获取)
public class BaseServlet extends HttpServlet { @SneakyThrows @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 1.获取请求的方法名称 String methodName = getMe...原创 2021-12-24 19:14:54 · 295 阅读 · 0 评论 -
Mybatis插件PageHelper的使用
PageHelper是适用于MyBatis框架的一个分页插件,使用方式极为便捷,支持任何复杂的单表、多表分页查询操作。PageHelper中提供了多个分页操作的静态方法入口。pom.xml中引入PageHelper依赖。<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <versi.原创 2021-12-24 10:09:36 · 255 阅读 · 0 评论 -
封装自动提交与手动提交的Mybatis工具类
public class MybatisUtils { //获得SqlSession工厂 private static SqlSessionFactory factory; //创建ThreadLocal绑定当前线程中的SqlSession对象 private static final ThreadLocal<SqlSession> tl = new ThreadLocal<SqlSession>(); static { .原创 2021-12-23 20:12:34 · 397 阅读 · 0 评论 -
Mybatis中SQL语句中#与$的区别
相同点:都属于可以获取参数属性#仅引用,在SQL语句中替代占位符的数值(赋值)${attribute} 属于字符串拼接SQL,而非预编译占位符,会有注入攻击问题,不建议在常规SQL中使用,常用于可解决动态生降序问题。但在动态表查询中会使用$$符号注入攻击<select id="selectUsersByKeyword" resultType="user"> SELECT * FROM t_user WHERE name = '${name}' <!--.原创 2021-12-23 19:17:06 · 734 阅读 · 0 评论 -
Caused by: org.apache.ibatis.executor.ExecutorException: Executor was closed.
在sqlsession会话关闭后,再使用sqlsession就会出现Executor was closed.异常Caused by: org.apache.ibatis.executor.ExecutorException: Executor was closed. at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:114) at org.apache.ibatis.executor.CachingEx...原创 2021-12-23 17:34:53 · 575 阅读 · 0 评论 -
在加入了过滤器Filter后,复写了doFilter方法,但却不起作用,并且也没有报错
那是因为在过滤器没有初始化,因此过滤器一定要复写初始化方法init在过滤器实现类中,可以没有destroy方法,但必须有init方法原创 2021-12-23 13:57:40 · 1557 阅读 · 0 评论 -
AbstractMethodError: Method com/mysql/jdbc/PreparedStatement.isClosed()Z is abstract
org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet [jsp] in context with path [] threw exception [Filter execution threw an exception] with root causejava.lang.AbstractMethodError: Method com/mysql/jdbc/PreparedStatemen原创 2021-12-22 19:57:40 · 862 阅读 · 0 评论 -
Mybatis的动态SQL
MyBatis的映射文件中支持在基础SQL上添加一些逻辑操作,并动态拼接成完整的SQL之后再执行,以达到SQL复用、简化编程的效果。< sql > 封装相同的sql代码,使用的时候利用include引入<mapper namespace="com.mybatis.part2.dynamic.BookDao"> <sql id="BOOKS_FIELD"> <!-- 定义SQL片段 --> SELECT id,nam...原创 2021-12-22 19:46:39 · 433 阅读 · 0 评论 -
MyBatis处理关联关系-多表连接(关联查询)
实体间的关系:关联关系(拥有 has、属于 belong) OneToOne:一对一关系(Passenger--- Passport) OneToMany:一对多关系(Employee --- Department) ManyToMany:多对多关系(Student --- Subject) OneToOne<mapper namespace="com.mybatis.part2.one2one.PassengerDao"> <!-- .原创 2021-12-22 19:38:06 · 681 阅读 · 0 评论 -
Mybatis自动ORM映射失败解决方法
MyBatis只能自动维护库表”列名“与”属性名“相同时的一一对应关系,二者不同时,无法自动ORM。方案一:列的别名在SQL中使用 as 为查询字段添加列别名,以匹配属性名。<mapper namespace="com.mybatis.part2.orm.ManagerDao"> <select id="selectManagerByIdAndPwd" resultType="com.qf.mybatis.part2.orm.Manager"> ..原创 2021-12-22 19:29:11 · 581 阅读 · 0 评论 -
MyBatis用注解方式进行CRUD操作
通过在接口中直接添加MyBatis注解,完成CRUD。 注意:接口注解定义完毕后,需将接口全限定名注册到mybatis-config.xml的< mappers >中。 经验:注解模式属于硬编码到.java文件中,失去了使用配置文件外部修改的优势,可结合需求选用。 <mappers> <mapper class="com.qf.mybatis.part1.annotations.UserMapper" /><!-- clas.原创 2021-12-22 19:25:50 · 296 阅读 · 0 评论 -
Mybatis的CRUD操作(增删改查操作)
查询:标签:< select id="" resultType="" >参数传递与获取:方法有四:序号参数绑定 //使用原生参数绑定 public User selectUserByIdAndPwd(Integer id , String pwd);<select id="selectUserByIdAndPwd" resultType="user"> SELECT * FROM t_users WHERE id = #{arg原创 2021-12-22 19:13:21 · 102 阅读 · 0 评论 -
Maven项目加入log4j配置
pom.xml添加log4j依赖<!-- log4j日志依赖 https://mvnrepository.com/artifact/log4j/log4j --><dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency&g..原创 2021-12-22 18:56:38 · 661 阅读 · 0 评论 -
Mybatis 的mybatis-config.xml 配置中读取properties文件
Mybatis配置文件中直接加载设置好的资源文件 例如:对于mybatis-config.xml的核心配置中,如果存在需要频繁改动的数据内容,可以提取到properties中。#jdbc.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/example?useUnicode=true&characterEncpding=utf8jdbc.username=roo...原创 2021-12-22 18:53:59 · 2858 阅读 · 0 评论 -
解决mapper.xml存放在resources以外路径中的读取问题
一般来说,资源文件统一存放在resource文件夹中,会自动识别但如果在java文件夹中存放了资源配置文件,则要自定义配置才能识别在pom.xml文件最后追加< build >标签,以便可以将xml文件复制到classes中,并在程序运行时正确读取。<build> <resources> <resource> <directory>src/main/java</dir..原创 2021-12-22 18:49:15 · 1028 阅读 · 0 评论