《深入理解mybatis原理》 MyBatis事务管理机制

MyBatis作为Java语言的数据库框架,对数据库的事务管理是其非常重要的一个方面。本文将讲述MyBatis的事务管理的实现机制。首先介绍MyBatis的事务Transaction的接口设计以及其不同实现JdbcTransaction 和 ManagedTransaction;接着,从MyBatis的XML配置文件入手,讲解MyBatis事务工厂的创建和维护,进而阐述了MyBatis事务的创建和使用;最后分析JdbcTransaction和ManagedTransaction的实现和二者的不
分类: 其他 发布时间: 12-12 22:44 阅读次数: 0

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然 后结合一个select查询实例,深入代码,来探究MyBatis的实现。 一、MyBatis的框架设计 1.接口层---和数据库交互的方式 MyBatis和数据库的交互有两种方式: a.使用传统的MyBatis提供的API; b. 使用Mapper接口 1.1.使用传统的MyBatis提供的API 这是传统的传递Statemen
分类: 其他 发布时间: 12-12 22:44 阅读次数: 0

《深入理解mybatis原理》 MyBatis的二级缓存的设计原理

MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将全面分析MyBatis的二级缓存的设计原理。 1.MyBatis的缓存机制整体设计以及二级缓存的工作模式 二级缓存工作机制 如上图所示,当开一个会话时,一个SqlSession对象会使用一个Executor对象来完成会话操作,MyBatis的二级缓存机制的关键就是对这个Executor对象做文章。如果用户配置了"cacheEnabled=true",那么MyBatis在为SqlSe
分类: 其他 发布时间: 12-12 22:43 阅读次数: 0

Spring Boot干货系列:(一)优雅的入门篇

首先声明,Spring Boot不是一门新技术,所以不用紧张。从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
分类: 其他 发布时间: 12-12 22:43 阅读次数: 0

Spring Boot干货系列:常用属性汇总

可以在application.properties/application.yml文件中或作为命令行开关指定各种属性。本节提供了常用的Spring Boot属性列表,以及对使用它们的底层类的引用。 属性贡献可以来自您的类路径上的其他jar文件,因此您不应该考虑这是一个详尽的列表。定义您自己的属性也是完全合法的。 此示例文件仅作为指南。不要将整个内容复制/粘贴到您的应用程序中;而只是选择你需要的属性。 # ============================================
分类: 其他 发布时间: 12-12 22:43 阅读次数: 0

Spring Boot干货系列:(三)启动原理解析

前言 前面几章我们见识了SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏。所以这次博主就跟你们一起一步步揭开SpringBoot的神秘面纱,让它不在神秘。 正文 我们开发任何一个Spring Boot项目,都会用到如下的启动类 @SpringBootApplication public class Application { public static void main(String[] args)
分类: 其他 发布时间: 12-12 22:43 阅读次数: 0

Tomcat 是怎样处理 SpringBoot应用的?

SpringBoot以标准Java 应用的形式,来启动了一个Web服务,而将容器的存在,隐藏在一个配置文件中,使用起来很方便。而Tomcat 就是Spring Boot内置的容器之一。这次我们来看在SpringBoot中,Tomcat中怎样被集成进来提供服务的。 近一两年, SpringBoot 由于其减少了大量原本繁琐的 Spring 配置,以及基于 Boot 的 SpringCloud 的推广,越来越多的应用开始使用 SpringBoot进行开发。 而 SpringBoot 以标准Java
分类: 其他 发布时间: 12-12 22:42 阅读次数: 0

Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇

前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持。 正文 Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依赖。 项目结构推荐 一个好的项目结构会让你开发少一些问题,特别是Spring Boot中启动类要放在root package下面,我的web工程项目结构如下: root package结构
分类: 其他 发布时间: 12-12 22:42 阅读次数: 0

Spring Boot干货系列:(五)开发Web应用之JSP篇

前言 上一篇介绍了Spring Boot中使用Thymeleaf模板引擎,今天来介绍一下如何使用SpringBoot官方不推荐的jsp,虽然难度有点大,但是玩起来还是蛮有意思的。 正文 先来看看整体的框架结构,跟前面介绍Thymeleaf的时候差不多,只是多了webapp这个用来存放jsp的目录,静态资源还是放在resources的static下面。 引入依赖 <!--WEB支持--> <dependency> <groupId>org.springframework.boot</g
分类: 其他 发布时间: 12-12 22:42 阅读次数: 0

Spring Boot干货系列:(六)静态资源和拦截器处理

正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持,今天详细的来介绍下默认的支持,以及自定义扩展如何实现。 默认资源映射 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。 建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下: classpath:/META-INF/resources classpath:/resources classpath:/static class
分类: 其他 发布时间: 12-12 22:41 阅读次数: 0

Flutter 初见(一)

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84857571 中文社区网站 如果要更详细的了解可以点击如下链接 中文官网:https://flutterchina.club/docs/ 官网:https://flutter.io/ 掘金中文社区网址 :https://flutter-io.cn/ 一句话总结 极速构建漂亮的原生应用 谁在使用? 阿里巴巴的咸鱼就是用的这个框架(详情页
分类: 其他 发布时间: 12-12 22:41 阅读次数: 0

Flutter 窥探(三)

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84874088 上篇博文已经创建了一个App 这一章主要是创建一个Flutter App。如果你熟悉面向对象编程,有基本的编程概念(变量,循环,条件判断等),那么你不必要具备原有的Dart和移动开发经验,,就可以轻松地理解完成这章内容。 你将会学到: Flutter app基本结构 查找并使用包来扩展功能 使用热加载加快开发周期 如何实
分类: 其他 发布时间: 12-12 22:40 阅读次数: 0

python 文件大小显示kb、mb或gb等

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84892999 def covertFukeSize(size): kb=1024; mb=kb*1024; gb=mb*1024; tb=gb*1024; if size>=tb: return "%.1f TB"% float(size / tb) if size>
分类: 其他 发布时间: 12-12 22:40 阅读次数: 0

Python爬虫:selenium打开新窗口和多窗口切换

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84930803 上说可以通过发送按键事件触发,比如ctrl+T,不过我没成功,使用了js打开新窗口的方式代码示例 # -*- coding: utf-8 -*- # @File    : switch_tab.py # @Date    : 2018-07-27 # @Author  : Peng Shiyu import tim
分类: 其他 发布时间: 12-12 22:40 阅读次数: 0

判断当前页面是否在微信浏览器中打开

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84933597 在实际的项目中,有时候需要判断当前页面是否在微信浏览器中打开 ,以下提示了三种方法,每一种都可以, 方法一, var ua = navigator.userAgent.toLowerCase(); var isWeixin = ua.indexOf('micromessenger') != -1; if (isWeix
分类: 其他 发布时间: 12-12 22:40 阅读次数: 0

php识别微信客户端 并且使用html静态页面引导用户使用浏览器打开这个页面

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84933804             if(strstr($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger/')){                 echo '<html ><head><title>请通过浏览器打开完成支付</title><meta name="viewport" cont
分类: 其他 发布时间: 12-12 22:39 阅读次数: 0

百度云加速下载Proxyee-down的下载与安装教程2.x

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84944329 Proxyee-down是monkeyWie在Github上的一个开源项目,向作者致敬。 最新版的Proxyee-down为3.12(2018.10更新),因为作者在3.x后的版本中并未发布exe版本,只发布了jar包 所以我们需要在计算机中安装Java环境才能使用Proxyee-down 考虑到安装成本的增加,和新版有
分类: 其他 发布时间: 12-12 22:39 阅读次数: 0

百度云加速下载Proxyee-down的下载与安装教程3.x

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84944349 因为软件的作者MonkeyWei在3.x版本的软件更新中,并未发布3.x版本的exe文件只在github中发布了jar包(需要java环境)笔者本来是想将源代码生成exe文件,方便大家的下载与安装。奈何笔者水平有限,找了一个小时,找不到程序的入口函数,遂放弃了这个想法。 所以就有了此篇安装过程巨为复杂的教程,本教程分为两
分类: 其他 发布时间: 12-12 22:39 阅读次数: 0

Git 忽略.idea/workspace.xml文件

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84950098 写在前面: git忽略的原理: git设置本地忽略必须保证git的远程仓库分支上没有这个要忽略的文件,如果远程分支上存在这个文件,本地在设置ignore 将不起作用。 ========================================= 所以一般是在.gitignore 文件里面加入 .idea/ work
分类: 其他 发布时间: 12-12 22:38 阅读次数: 0

解决flutter的FormatException: Bad UTF-8 encoding的问题

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/84952275 开发flutter的时候,每一次点击启动按键,就很容易发生Finished with error: FormatException: Bad UTF-8 encoding 0xb4的问题.该死的是,多运行几次它又没有了.今天我就要彻底解决它. 问题:Running 'gradlew assembleDebug'... F
分类: 其他 发布时间: 12-12 22:38 阅读次数: 0