- 解决Obsidian写笔记中的<img>标签无法显示图片的问题
全能全知者
笔记
Obsidian中写md笔记如果使用标签会显示不出图案,后来才知道因为Obsidian的问题导致只能用绝对路径定位。所以我本人写了一个py插件,将md笔记里的img标签批量替换成Obsidian能够读取的形式。安装FixObsImgDpy:pipinstallFixObsImgDpy安装完成后在需要修复的md文件的父目录下运行命令:FixObsImgDpy就会自动修复父目录以下的全部md文件 仓库
- 相对与绝对路径、命令:cd、mkdir、rmdir、rm
强出头
2.6相对和绝对路径绝对路径:都是从根目录/开始的就是绝对路径,无论在任何目录下都能通过该路径找到该文件相对路径:不是以根目录开头的,相对当前目录的路径[root@mylinuxetc]#cat/etc/sysconfig/network-scripts/ifcfg-ens33(这里我们使用绝对路径查看文件ifcfg-ens33)[root@mylinuxetc]#cd/etc/sysconfig
- 【Mac/Linux终端快捷操作】Finder移动/复制/合并文件
TUTO_TUTO
终端快捷操作linuxmacos运维学习笔记
【注】所有使用相对路径的方法都需要:使用cd命令导航到指定文件夹目录(cd空格把文件夹直接拖进终端)补充在终端中使用cd命令导航文件系统:cd/full/path/to/folder进入特定文件夹。cdsubfolder进入当前目录的子文件夹。cd..返回上一级目录。cd或cd~返回主目录。注意:可以使用Tab键自动补全文件夹名1.多个txt文件中的内容合并成一个txt文件使用相对路径:cat./
- golang文件相对路径问题
jzpfbpx
golang开发语言后端
目录结构2.具体代码:constdataFile="../data/data.json"_,fileName,_,_:=runtime.Caller(1)dataPath:=path.Join(path.Dir(fileName),dataFile)fmt.Println(dataPath)//openfilefile,err:=os.Open(dataPath)iferr!=nil{log.Fa
- golang文件相对路径问题
jzpfbpx
golang开发语言后端
1.目录结构2.具体代码:constdataFile="../data/data.json"_,fileName,_,_:=runtime.Caller(1)dataPath:=path.Join(path.Dir(fileName),dataFile)fmt.Println(dataPath)//openfilefile,err:=os.Open(dataPath)iferr!=nil{log.
- pyinstaller打包pywebio项目为exe
悠_逸
python-web界面python开发语言
背景:某目录下一堆py文件和相应的资源文件(文件夹),app.py是入口(启动)文件,资源文件通过相对路径调用。Windows10,2022.7.161、通过conda命令进入虚拟环境(命令提示符界面)2、cd/d将操作路径切换到py文件所在位置,即前文所说“某目录”(命令提示符界面)3、pyi-makespec-capp.py建立spec文件(命令提示符界面)!这里我的pywebio采用pywe
- vue 数组中相对路径的图片 不显示问题
僵尸C掉了我的脑子
前端vuevue相对路径的图片不显示问题vue相对路径vue路径路径不显示
例如:data(){return{img:'./../../assets/sec03_1.jpg'//路径也没问题啊,怎么不显示呢,难道他瞎啦!}}在template中:第一种解决方案是:简单粗暴型使用绝对路径也就是带上域名即可第二种解决方案是:非常智慧型代码如下:data(){return{img:require('../../images/jifen/index/img_list_defaul
- vue背景图片相对路径不显示问题
关你西红柿04
vue.js前端javascript
参考文章:https://blog.csdn.net/qq_41337100/article/details/105542093确认路径地址没错的情况下,图片就是不显示后来改成以下形式就正常显示了注意一定不要忘了加冒号:,不然没有效果
- Vue项目:将资源路径使用相对路径后,部分图片无法显示
engineer_why
vue项目问题集vue.js前端javascript
Vue项目:将资源路径使用相对路径后,部分图片无法显示绝对路径通过上一篇文档,使用publicPath实现绝对路径转相对路径,这一篇,来说说我之后碰到的问题.在资源路径改变为相对路径后,我发现代码中比如css引入的图片,它还是处于绝对地址,并且没有办法显示出来,提示为404找不到图片。解决办法:通过less或scss,定义一个变量baseUrl,然后通过字符串拼接的方式,在url路径中拼接到原本图
- 12.2 Python绝对路径和相对路径详解
愿与你共信仰
第12章Python文件操作(I/O)python基础超详细
在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。什么是当前工作目录每个运行在计算机上的程序,都有一个“当前工作目录”(或cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。在Python中,利用os.getcwd()函数可以取得当前工作路径的字符串,还可以利用o
- Python中的绝对路径与相对路径详解
小桥流水---人工智能
人工智能Python程序代码机器学习算法python开发语言
对路径与相对路径Python中的绝对路径与相对路径详解什么是路径?绝对路径优点:缺点:示例:相对路径优点:缺点:示例:Python中如何使用**重点内容**:**在Python中,建议使用`os.path.join`来构建路径,这样可以确保代码在不同操作系统上的兼容性。同时,理解并正确使用绝对路径和相对路径,对于开发可移植和可维护的应用程序至关重要。**结论Python中的绝对路径与相对路径详解在
- go.path/filepath — 兼容操作系统的文件路径操作
Generalzy
GOgolang开发语言后端
path/filepath包涉及到路径操作时,路径分隔符使用os.PathSeparator。不同系统,路径表示方式有所不同,比如Unix和Windows差别很大。本包能够处理所有的文件路径,不管是什么系统。注意,路径操作函数并不会校验路径是否真实存在。目录path相对路径和绝对路径funcIsAbsfuncAbs路径的切分和拼接funcSplitfuncJoinfuncSplitList解析路径
- 安装tree命令 - linux和mac下
android121
centOS下的安装:yum-yinstalltreeUbuntu下安装:sudoapt-getinstalltree命令的使用:tree或者tree-a//显示当前目录下的所有文件和子文件tree-f//在每个文件或目录之前,显示完整的相对路径名称mac下:第一种:1、直接使用find命令模拟出tree命令的效果,如显示当前目录的tree的命令:find.-print|sed-e's;[^/]*
- web文件下载,路径或文件名中文乱码
yuanliyin
webjava
/***附件下载*@paramdlPath文件绝对路径*@throwsException*/publicvoiddl(StringdlFilePath)throwsException{FacesContextcontext=FacesContext.getCurrentInstance();HttpServletResponseresponse=(HttpServletResponse)conte
- 背景
张露锋
背景设置:使用background-image来设置背景图片语法:background-image:url(相对路径);-如果背景图片大于元素,默认会显示图片的左上角-如果背景图片和元素一样大,则会将背景图片全部显示-如果背景图片小于元素大小,则会默认将背景图片平铺以充满元素可以同时为一个元素指定背景颜色和背景图片,这样背景颜色将会作为背景图片的底色一般情况下设置背景图片时都会同时指定一个背景颜色
- Vue3+vite打包配置及部分打包优化~
炒毛豆
vue.js前端
这里介绍的是vite项目的打包配置,若想了解webpack打包配置可看我的其他博客。(下面来介绍下vite打包配置的步骤)1、步骤一:配置base。(为什么需要配置base?这里配置base主要是修改根路径,一般我们在开发环境中引用静态资源可能使用的是绝对路径,但是一旦打包部署到服务器上后可能会报404,无法正确的获取的资源。)//在vite.config.ts中import{defineConf
- python数学库 目录库相关
yanghy228
数学相关的库math:数学相关的库random:随机库软件测试、密码学当中经常使用有限定条件的随机数randint(1,5)randchoice(["aa",'bb','cc'])文件和目录访问相关的库linux命令行:ls查看文件名ls-lpwd查看当前所在位置cd绝对路径(/)相对路径(..)(./一般省略)建立文件夹:mkdir(-p多层建立)删除文件夹:rmdir包括文件的话(rm-rf)
- Python文件操作——只读操作(rt、rb)
1024码字猿
pythonwindowspycharm
open(文件路径,mode=‘r’,encoding=‘UTF-8’)注意:文件路径,分别为相对路径与绝对路径(或网络链接),相对路径指相对于当前程序所在的文件夹,绝对路径指磁盘的完整路径(windows含磁盘的盘符;linux含根目录斜杠(/))。r模式操作文件,文本文件不存在时,不会自动创建,需要先创建文本文件(r.txt),文件目录如下:读.py测试文件/r.txt注意:创建的文本文件,要
- maven项目如何将自定义的jar引入本地仓中,并编译通过
lics10
mavenjar
只需3步,轻松实现自定义jar包引入本地仓。1、在pom.xml文件中加入坐标com.hicap.echannelservice.ncclib//随便写ncclib-jar//随便写1.0//随便指定2、根据以上pom中的依赖,更替填写下方我给你的命令行(-Dfile=、-DgroupId=、-DartifactId=、-Dversion=)。注意-Dfile=后是你jar所在的绝对路径,填写好后
- 路径处理秘籍:Golang path包最佳实践与技巧
walkskyer
golang标准库golang开发语言后端
路径处理秘籍:Golangpath包最佳实践与技巧引言基本概念和功能path包简介路径的概念:相对路径与绝对路径常见操作函数概览路径清理和拼接path.Cleanpath.Joinpath.Split路径提取与处理path.Basepath.Dirpath.Ext处理不同操作系统的路径分隔符路径匹配与查找path.Matchfilepath.Glob在实际项目中的应用场景路径规范化与安全性规范化路
- css雪碧图实例
邵毅超
作业:雪碧图也就是一整张图片利用css样式里的background-position去调整位置,设置hover或是active显示出鼠标经过和点击的特效。链接图片的时候是相对路径下,并且是有url值的。再有图片显示要写一个no-repeat取消重复显示。购物车特效*{margin:0;padding:0;}.select{margin:0auto;display:block;width:1000p
- android 实时图像传输实现
NS_ice
Android开发androidjava
android实时图像传输实现(java)本质就是图像传输,在次基础上的扩展。实现原理其实就是图像一帧一帧的传输,一直下去就能达到实时图像传输的效果了。具体实现socket对象调用getInputStream()方法获得一个输入流inputStream,同时使用FileOutputStream(file)方法创建一个文件输出流用来保存图片数据其中file为图片的绝对路径,之后对inputStrea
- Nginx 无法正确加载静态文件,静态文件加载404或者为html;Nginx 配置访问指定url路径项目部署;
Faith-J
Linuxnginx前端运维
Nginx无法正确加载静态文件,静态文件加载404或者为html;Nginx配置访问指定url路径项目部署;问题1.在nginxlocation定义指定url段时,加载不到页面,例如:访问一级目录为/mypage并且二级目录可以是任意非空值时/mypage/xxxxx,由于部署目录实际不存在/mypage/xxxx,因此访问返回404问题;2.页面中使用相对路径引用静态文件时,使用指定url段访问
- Python | Leetcode Python题解之第388题文件的最长绝对路径
Mopes__
分享PythonLeetcode题解
题目:题解:classSolution:deflengthLongestPath(self,input:str)->int:ans,i,n=0,0,len(input)level=[0]*(n+1)whilei1:length+=level[depth-1]+1ifisFile:ans=max(ans,length)else:level[depth]=lengthreturnans
- C++ | Leetcode C++题解之第388题文件的最长绝对路径
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlengthLongestPath(stringinput){intn=input.size();intpos=0;intans=0;vectorlevel(n+1);while(pos1){len+=level[depth-1]+1;}if(isFile){ans=max(ans,len);}else{level[depth]=len;
- 71. 简化路径【 力扣(LeetCode) 】
理论最高的吻
leetcode算法职场和发展C++栈
一、题目描述给你一个字符串path,表示指向某一文件或目录的Unix风格绝对路径(以‘/’开头),请你将其转化为更加简洁的规范路径。在Unix风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点(…)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,‘//’)都被视为单个斜杠‘/’。对于此问题,任何其他格式的点(例如,‘…’)均被视为文件/目
- JavaScript初级——Location
Fan_web
前端学习分享前端cssjavascript开发语言html
1、Location——该对象中封装了浏览器的地址栏的信息2、如果直接打印Location,则可以获取到地址栏的信息(当前页面的完整路径)。3、如果直接将location属性修改为一个完整的路径或者相对路径,则页面会自动跳转到该路径,并且会生成相应的历史记录。4、方法:①assign()——用来跳转到其他页面,作用和直接修改location一样。②reload()——用于重新加载当前页面,作用和刷
- Datawhale七月组队——动手学数据分析 Task01 数据加载及探索性数据分析
郁浓
第一次的打卡内容包括数据的载入及初步观察、Pandas基础以及探索性数据分析三个部分。1.数据的载入及初步观察这一节内容中,刚开始绝对路径的设置中"/"和'''\'用错了,直接拿文件夹的路径粘贴过来,导致运行失败使用pandas中read_csv读取csv数据时,对于有表头的数据,将header设置为空(None),会报错:pandas_libs\parsers.pyxinpandas._libs
- 列出今天写的脚本中用到的一些知识点
LuLiangJun001
python基础python
列出今天写的脚本中用到的一些知识点1.拼接路径os.path.join(path1,path2,....)用途:将参数中的所有路径,用当前系统的路径拼接符进行拼接成完成一个路径。场景:已知某个目录路径,该路径下有很多表格,需要获取这些表格的绝对路径。root_dir=r'C:/demo'#已知的目录路径forexcelinos.listdir(root_dir):excel_path=os.pat
- 菜鸟的ai进阶之路(持续更新中...)
夸父的天空
AI进阶linux基础操作python基础语法计算机视觉基础docker基础操作
Day1:1、linux基础指令:Pwd:查看当前所在路径;cat/proc/cpuinfo:查看cpuLs:当前所在路径下有哪些内容;ls-l:以长格式显示(long);Ls-a:显示所有(包含隐藏)all;La-al/ls-la:以长格式显示所有文件;2、路径:绝对路径:以/开始的路径/home/tarena相对路径:不以/开始的路径…:上一级目录~:主目录/home/gary3、cd:切换目
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数