- 博客(71)
- 资源 (1)
- 收藏
- 关注
原创 七、Mybatis缓存
缓存就是内存中的数据,常常来自对数据库查询结果的保存,使用缓存、可以避免频繁的与数据库进行交互,进而提高响应速度一级缓存是sqlSession级别的缓存,在操作数据库时需要构造sqlsession对象,在对象中有一个数据结构(hashmap)用于存储缓存数据,不同的sqlsession的缓存数据区域是互相不影响的。二级缓存是mapper级别的缓存,多个sqlsession去操作同一个mapper的sql语句,多个sqlsession可以共用二级缓存、二级缓存是跨sqlsession的。
2024-02-15 13:24:04 1512
原创 六、Mybatis注解开发
注解开发越来越流行, Mybatis也可以使用注解开发方式,这样就可以减少编写Mapper映射文件。@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result 一起使用,封装多个结果集@One:实现一对一结果集封装@Many:实现一对多结果集封装。
2024-02-15 13:23:33 507
原创 五、Mybatis复杂映射开发
用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户。
2024-02-14 12:04:53 321
原创 四、Mybatis配置文件深入
Mybatis 的映射文件中,前面的 SQL 都是比较简单的,有些时候业务逻辑复杂时,SQL是动态变化的,此时前面的 SQL 就不能满足要求了。官方文档,描述如下:
2024-02-14 12:04:16 744
原创 三、Mybatis基本应用
常用API: SqlSessionFactory build(InputStream inputStream)通过加载mybatis的核心文件的输入流的形式构建一个SqlSessionFactory对象其中, Resources 工具类,这个类在 org.apache.ibatis.io 包中。Resources 类帮助从类路径下、文件系统或一个 web URL 中加载资源文件。SqlSessionFactory 有多个方法创建SqlSession 实例。
2024-02-14 12:03:37 879
原创 消息中间件概述
面向消息的系统(消息中间件)是在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。消息中间件就是在通信的上下游之间截断:break it,Broker然后利用中间件解耦、异步的特性,构建弹性、可靠、稳定的系统。异步处理、流量削峰、限流、缓冲、排队、最终一致性、消息驱动等需求的场景都可以使用消息中间件。
2023-01-30 21:25:05 460
原创 Git原理与常用命令
一、版本控制系统1.Git-分布式版本控制系统由于分布式版本控制系统每一个节点都是独立的系统,所以工作的时候不需要联网。安全性高,某一个电脑坏了可以从其他节点复制,节点间可以相互推送协作。分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。2. SVN-中央版本控制系统版本库是集中存放在中央服务器的,所以要先从中央服务器取得最新的版本,然后开始工作,完成后推送给中央服务器,必须联网才能工作,受网速的限制
2021-08-24 10:42:33 305
原创 linux下zookeeper的安装与配置
一、单机模式1、下载官网下载: https://zookeeper.apache.org/releases.html2、上传下载完成后,将zookeeper压缩包上传到linux系统3、解压tar -zxvf zookeeper-3.4.6.tar.gz4、进入zookeeper-3.4.14 ⽬录,创建 data ⽂件夹cd zookeeper-3.4.6mkdir data5、修改配置文件名称cd confmv zoo_sample.cfg zoo.cfg6、修改zoo.
2021-02-09 21:02:40 663
原创 linux下nginx的安装
一、上传nginx安装包到linux服务器nginx安装包(.tar⽂件)下载地址:http://nginx.org二、安装Nginx依赖pcre、openssl、gcc、zlib(推荐使⽤yum源⾃动安装)yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel三、解包Nginx软件包tar -xvf nginx-1.17.8.tar四、进⼊解压之后的⽬录 nginx-1.17.8cd nginx-1.17
2021-01-26 00:39:50 209 1
原创 yum安装MySQL5.7
一、下载安装Yum Repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum -y install mysql57-community-release-el7-10.noarch.rpmyum -y install mysql-community-server二、 MySQL数据库设置2.1 启动MySQLsystemctl start mysqld.servi
2021-01-11 10:54:12 116
原创 二、Mybatis基本与高级应用
对象/关系数据库映射(ORM)ORM全称Object/Relation Mapping:表示对象-关系映射的缩写ORM完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性,又可以利用关系数据库的技术优势。ORM把关系数据库包装成面向对象的模型。ORM框架是面向对象设计语言与关系数据库发展不同步时的中间解决方案。采用ORM框架后,应用程序不再直接访问底层数据库,而是以面向对象的放松来操作持久化对象,而ORM框架则将这些面向对象的操作转换成底层S
2020-12-13 20:26:46 243
原创 一、自定义持久层框架设计实现
自定义持久层框架1.1 JDBC存在的问题public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try {// 加载数据库驱动 Class.forName("com.mysql.jdbc.Dri
2020-12-11 17:06:01 114
原创 linux下mysql8的安装
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsudo yum --enablerepo=mysql80-community install mysql-community-serversudo service mysqld startservice mysqld statusgrep "A temporary password" /var/log/mysqld.log
2020-12-10 16:18:36 121
原创 二、Eureka服务注册与发现
一、Eureka是什么Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于dubbo的注册中心,比如Zookeeper。二、Eureka的基本架构Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eur
2020-11-09 10:37:11 155
原创 六、 Zookeeper 四字命令
zookeeper 支持某些特定的四字命令与其交互,用户获取 zookeeper 服务的当前状态及相关信息,用户在客户端可以通过 telenet 或者 nc(netcat) 向 zookeeper 提交相应的命令。安装 nc 命令:$ yum install nc # centos四字命令格式:echo [command] | nc [ip] [port]ZooKeeper 常用四字命令主要如下:四字命令使用:stat 命令用于查看 zk 的状态信息,实例如
2020-11-07 14:41:33 298
原创 五、Zookeeper 客户端基础命令使用
ls命令ls 命令用于查看某个路径下目录列表。格式:ls pathls2 命令ls2 命令用于查看某个路径下目录列表,它比 ls 命令列出更多的详细信息。格式:ls2 path3. get 命令get 命令用于获取节点数据和状态信息。格式:get path [watch]path:代表路径。[watch]:对节点进行事件监听。stat 命令stat 命令用于查看节点状态信息。格式:stat path [watch]5. create 命令cr.
2020-11-07 14:34:54 106
原创 四、ZooKeeper 数据模型 znode 结构详解
一、数据模型在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。进入 zookeeper 安装的 bin 目录,通过sh zkCli.sh打开命令行终端,执行 “ls /”$ ./zkCli.sh -server localhost:9201$ ls /$ ls /zookeeper$ ls /zook
2020-11-07 14:23:37 437
原创 三、zookeeper java客户端搭建
一、使用IntelliJ IDEA,创建一个 maven 工程,命名为 zookeeper-demo,并且引入如下依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope></dependency>&
2020-11-07 14:03:54 186
原创 二、zookeeper集群
一、单机版在官网下载完zookeeper压缩包后:$ tar -zxvf zookeeper-x.x.xx.tar.gz //解压$ cd zookeeper-x.x.x $ cd conf/$ cp zoo_sample.cfg zoo.cfg //配置文件重命名$ cd ..$ cd bin/$ ./zkServer.sh start //启动服务端$ ./zkServer.sh statu
2020-11-07 13:31:13 149
原创 一、zookeeper简介
一、简介ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 的架构通过冗余服务实现高可用性。Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式
2020-11-07 13:05:20 231
原创 Session与Cookie(自定义Session)
会话管理: 管理浏览器客户端 和 服务器端之间会话过程中产生的会话数据会话技术Cookie技术:会话数据保存在浏览器客户端。Session技术:会话数据保存在服务器端。一、Cookie技术一、 Cooke简介特点Cookie技术:会话数据保存在浏览器客户端。Cookie技术核心Cookie类:用于存储会话数据(1)构造Cookie对象Cookie(java.lang.String name, java.lang.String value)(2)设置cookievoid se
2020-09-29 15:56:45 353
原创 javaEE之深入理解Servlet
Servlet重要的四个生命周期方法构造方法: 创建servlet对象的时候调用。默认情况下,第一次访问servlet的时候创建servlet对象只调用1次。证明servlet对象在tomcat是单实例的。init方法: 创建完servlet对象的时候调用。只调用1次。service方法: 每次发出请求时调用。调用n次。destroy方法: 销毁servlet对象的时候调用。停止服务器或者重新部署web应用时销毁servlet对象。只调用1次。伪代码演示servlet的生命周期Tomtcat
2020-09-29 08:37:39 143
原创 DNS解析与外网映射
一、DNS解析过程浏览器输入地址,先读取本地hosts文件,如果本地host文件有dns解析配置,就用本地的,hosts文件位置:C:\Windows\System32\drivers\etc如果没有则去运营商dns服务器查找,找不到继续向上。二、外网映射工具在做一些支付项目、微信开发、或对接第三方接口的时候,有些回调操作,可能会需要外网访问。那么我们在做本地开发的时候,外网无法访问到本地?怎么解决这个问题呢?就会用到外网映射工具,常用外网映射工具ngrok(免费)、花生壳等。
2020-09-28 23:23:32 1434
原创 Java网络编程之Socket小案例
一、什么是网络模型网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。 在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够
2020-09-28 22:52:31 94
原创 自定义注解模拟ORM框架注解版本
自定义注解一、什么是注解?Jdk1.5新增新技术,注解。很多框架为了简化代码,都会提供有些注解。可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。注解分类:内置注解(也成为元注解 jdk 自带注解)、自定义注解(Spring框架)@Override public String toString() { return null; }@SuppressWarnings({ "all" }) pub
2020-09-28 21:34:04 110
原创 二、列表和元组
一、序列概述Python内置了多种序列,重点两种:列表和元组。另一种重要的序列 是字符串。 列表和元组的主要不同在于,列表是可以修改的,而元组不可以。这意味着列表适用于需要中途添加元素的情形,而元组适用于出于某种考虑需要禁止修改序列的情形。禁止修改序列通常出于技术方面的考虑,与Python的内部工作原理相关,这也是有些内置函数返回元组的原因所在。在你自己编写程序时,几乎在所有情况下都可使用列表来代替元组。一种例外情况是将元组用作字典键。在这种情况下,不能使用列表来代替元组,因为字典键是不允许修改的。 在需
2020-09-02 11:11:05 413
原创 一、python程序设计基础
一、Python语言特点解释型语言设计哲学是“优雅” 、 “明确” 、 “简单 ”开发哲学是“用一种方法 , 最好是只用一种方法来做一件事”现代编程语言面向对象;支持泛型设计;支持函数式编程丰富的数据结构和第三方函数库编程Django webpy ;Matplotlib Numpy;PyQt Tkinter ;BeautifulSoup PIL二、基础概念1. 数和表达式除法运算的结果为小数,即浮点数(float或floating-point number)丢弃小数部分,即执行
2020-09-01 14:48:42 673
原创 二、SpringBoot配置
二、配置文件1、配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的;•application.properties•application.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;YAML(YAML Ain’t Markup Language)YAML A Markup Language:是一个标记语言YAML isn’t a Markup Language:不是一个标记语言;标记语言:
2020-08-12 17:49:58 488
原创 一、SpringBoot入门
Spring Boot 入门1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案。优点:快速创建独立运行的Spring项目以及与主流框架集成使用嵌入式的Servlet容器,应用无需打成WAR包starters自动依赖与版本控制大量的自动配置,简化开发,也可修改默认值无需配置XML ,无代码生成,开箱即用准生产环境的运行时应用监控与云计算的天然集成2、微服务微服务:架构风格(服务微化)一个应用
2020-08-07 09:55:24 101
原创 二、UML类图、设计模式概述
UML基本介绍(1) UML— Unified modeling language UML (统一 建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果(2) UML 本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如图:UML 图:画UML图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理,UML图分类:(1)用例图(use ca
2020-08-06 20:36:12 328
原创 五、crond 任务调度
crond任务调度1.原理示意图2.概述任务调度:是指系统在某个时间执行的特定的命令或程序。任务调度分类:系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。3.基本语法crontab [选项]常用选项:4.简介任务的要求:设置任务调度文件: /etc/crontab设置个人任务调度:执行crontab -e 命令。接着输入任务到调度文件如: /1***1s -1 /etc/ > /t
2020-08-06 11:22:13 146
原创 四、组管理和权限管理
组管理和权限管理一、组管理Linux组基本介绍在linux中的每个用户必须属于一个组,不能独立于组外。文件/目录所有者一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。查看文件的所有者(1)指令: ls -ahl例:创建一个组school,再创建一个用户 master,将 master放在school组,然后使用 master来创建一个文件ok.txt, 看看情况如何修改文件所有者指令: chown用户名文件名例:要求:使用root创建一个文件
2020-08-06 11:03:28 232
原创 一、设计模式七大原则
一、设计模式的目的编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序具有更好的代码重用性(即:相同功能的代码,不用多次编写)可读性(即:编程规范性,便于其他程序员的阅读和理解)可扩展性(即:当需要增加新的功能时,非常的方便,称为可维护)可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性二、设计模式七大原则设计模式常用的七大原则有:单一职责原则接口隔离原则依赖倒转(倒置)原则
2020-08-04 16:20:00 134
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人