03 2021 档案
tomcat9日志及控制台中文乱码
摘要:1、conf/logging.properties文件所有UTF-8相关全部注释 2、bin/catalina.bat文件中添加set "JAVA_OPTS=-server -Dfile.encoding=GBK"。 或者直接改为使用英文:set "JAVA_OPTS=-Duser.language 阅读全文
posted @ 2021-03-17 10:43 池塘里洗澡的鸭子 阅读(121) 评论(0) 推荐(0) 编辑
五、仿MyBatis自定义的持久层如何添加增删查改功能
摘要:熟练使用mybatis后,有没有考虑类似的自定义一个持久层呢?实现参考代码https://gitee.com/duckinpool/homework_2021/tree/master/1.1_mybatis/code。持久层目录如下: 首先实现自定义持久层后,测试查询功能。如下: 关于持久层实现思路 阅读全文
posted @ 2021-03-14 02:56 池塘里洗澡的鸭子 阅读(8) 评论(0) 推荐(0) 编辑
五(补充一)、Mybatis中Mapper代理方式
摘要:从五、仿MyBatis自定义的持久层如何添加增删查改功能中可以知道Mybatis的实现核心就是Mapper代理执行sql获取业务数据。在测试案例中,使用如下代码即可得到相应业务数据。 通过Mybatis源码分析可以知道自定义实现完全体现的Mybatis的核心本质实现:mapper通过XMLConfi 阅读全文
posted @ 2021-03-10 17:49 池塘里洗澡的鸭子 阅读(116) 评论(0) 推荐(0) 编辑
五(补充二)MyBatis中执行器Executor框架
摘要:在五、仿MyBatis自定义的持久层如何添加增删查改功能中,自定义了一个Executor,实现具体执行sql语句。MyBatis实际就是提供了一套Executor框架——但是比自定义的Executor复杂,具体如下图: 其为Mybatis提供与数据库交互的功能,是一个典型的装饰器模式(参考一、装饰器 阅读全文
posted @ 2021-03-10 13:58 池塘里洗澡的鸭子 阅读(70) 评论(0) 推荐(0) 编辑
MyBatis功能点之二(2):从责任链设计模式的角度理解插件实现技术
摘要:MyBatis允许对其四大组件(Executor,StatementHandler,ParameterHandler, ResultSetHandler)进行增强处理。在创建四大组件对象的时候 1、每个对象创建处理都不是直接返回,而是使用拦截器链拦截处理(interceptorChain.plugi 阅读全文
posted @ 2021-03-09 15:36 池塘里洗澡的鸭子 阅读(118) 评论(0) 推荐(0) 编辑
MyBatis功能点之二:plugins插件使用
摘要:MyBatis自定义插件使用步骤(已有pojo及mapper的基础上) 一、自定义插件,实现Interceptor接口 红框中注解说明了对四大组件中的那个组件生效。 二、核心配置文件sqlMapConfig.xml文件增加插件相关内容 测试 测试结果: 阅读全文
posted @ 2021-03-09 10:46 池塘里洗澡的鸭子 阅读(209) 评论(0) 推荐(0) 编辑
三、责任链模式
摘要:在日常生活中,责任链模式应用场景多见。比如在公司财务报销,从提请报销起到报销款打款落地终整个流程中,可能要经过不同人的审核,审批、签字、盖章等一系列的节点。实际过程中,提请报销者无需了解整个报销流程,只关注报销结果——钱是否到账。而不是提请报销者,每个节点提个申请。 责任链模式即请求发起处理请求,不 阅读全文
posted @ 2021-03-09 06:18 池塘里洗澡的鸭子 阅读(185) 评论(0) 推荐(0) 编辑
二、代理模式
摘要:前面装饰器模式提过代理模式的本质,就是本来自己要做的事,由于某些原因取舍之后找其他能力者干,比如代考(ff)。在实际生成中为控制对初始对象的访问,需提供一个代理或者占位对象。 代理模式UML图如下: 以上UML图是否似曾相识?对的,与装饰器模式好像是双胞胎,只是名字不同。个人理解装饰器模式是特殊的静 阅读全文
posted @ 2021-03-08 20:47 池塘里洗澡的鸭子 阅读(65) 评论(0) 推荐(0) 编辑
一、装饰器模式
摘要:装饰器模式的定义之类的在此不赘述,网上资源比较多。 装饰器模式打个不恰当(ff)的比喻,就是高考,你可以找人代考(警察叔叔过来找你了)也可以在高考前努力提高自己的十八般武艺自信满满地进考点。如果你选择找人代考就是代理模式,如果你选择提高自身的能力就是装饰器模式的思维:强调的是自身功能的扩展。 UML 阅读全文
posted @ 2021-03-07 20:48 池塘里洗澡的鸭子 阅读(44) 评论(0) 推荐(0) 编辑
MyBatis功能点之一(补充):MyBatis缓存Cache包
摘要:从MyBatis功能点之一(1):MyBatis缓存初体验中,可知二级缓存是跨session的,而一级缓存不是。为什么呢?通过Mybatis源码分析,一级缓存默认使用底层数据结构为PerpetualCache为数据查询提供效率。同时MyBatis不止实现了PerpetualCache,还有其他实现提 阅读全文
posted @ 2021-03-07 19:33 池塘里洗澡的鸭子 阅读(68) 评论(0) 推荐(0) 编辑
MyBatis功能点之一(1):MyBatis缓存初体验
摘要:在五(补充二)MyBatis中执行器Executor框架中展示了MyBatis中使用Executor默认为CacheExecutor,即默认提供对SQL执行结果提供缓存功能。 一级缓存初体验(session,默认打开) 同一查询执行两次以上:select * from student where i 阅读全文
posted @ 2021-03-07 18:01 池塘里洗澡的鸭子 阅读(47) 评论(0) 推荐(0) 编辑
四、MyBatis注解开发
摘要:MyBatis中提供注解有: @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result 一起使用,封装多个结果集 @One:实现一对一结果集封装 @Many:实现一对多结果集封装 @ 阅读全文
posted @ 2021-03-06 17:04 池塘里洗澡的鸭子 阅读(54) 评论(0) 推荐(0) 编辑
二、Mybatis复杂映射开发
摘要:Mybatis针对SQL查询结果的复杂性,实现了一下三种复杂查询: 1)一对一查询 实现语句:select * from neworder o, user u where o.uid = u.id 实体Order: 接口: 配置: 关注点:此时mapper文件中resultMap已经不是实体类,而是 阅读全文
posted @ 2021-03-06 13:08 池塘里洗澡的鸭子 阅读(56) 评论(0) 推荐(0) 编辑
三(1)、MyBatis基础配置之核⼼配置⽂件SqlMapConfig.xml
摘要:Mybatis核心配置文件层级关系 1)environments标签 2)mapper标签 eg: 3)properties标签 数据源配置参数抽取至jdbc.properties 修改sqlMapConfig.xml中数据源相关配置 4)typeAliases标签 对于下图中红框部分值太长可以使用 阅读全文
posted @ 2021-03-06 12:13 池塘里洗澡的鸭子 阅读(51) 评论(0) 推荐(0) 编辑
一、Mybatis开发流程初体验
摘要:本文章中所有操作均在idea2019中实现。 快速入门步骤: 1)添加Mybatis包 2)创建实体类User(对应数据库操作提前已准备,参考随笔tip1:学习使用mybatis中使用mysql数据库的基本操作) 3)编写映射文件UserMapper.xml 4)编写核心文件配置sqlMapConf 阅读全文
posted @ 2021-03-05 19:33 池塘里洗澡的鸭子 阅读(60) 评论(0) 推荐(0) 编辑
tip1:学习使用mybatis中使用mysql数据库的基本操作
摘要:1、查看mysql服务是否启动: 2、root用户链接数据库:mysql -u root -p,随后输入正确的密码即可。 修改root用户密码:mysqladmin -uroot -pJmeterTest password 新密码(123) 3、root用户创建数据库: 4、查看已建数据库:show 阅读全文
posted @ 2021-03-05 15:14 池塘里洗澡的鸭子 阅读(142) 评论(0) 推荐(0) 编辑