- 零碎的知识点(九):|| 。||是什么?
墨绿色的摆渡人
零碎知识点机器学习人工智能
||。||是什么?∥⋅∥22\|\cdot\|_2^2∥⋅∥22是向量或矩阵的欧几里得范数(Euclideannorm)的平方。1.什么是欧几里得范数?对于向量v=[v1,v2,…,vn]T\mathbf{v}=[v_1,v_2,\dots,v_n]^Tv=[v1,v2,…,vn]T,其欧几里得范数定义为:∥v∥2=v12+v22+⋯+vn2.\|\mathbf{v}\|_2=\sqrt{v_1^
- VSCode配置golang开发环境
少林码僧
go开发工作经验汇总vscodegolang
VSCode插件推荐插件安装方法按下Ctrl/Cmd+P输入extinstall[插件关键字/名称],就可以安装了。下面提供各个插件对应的安装命令。各语言插件Go:extinstallms-vscode.GoGolang开发必备插件Docker:extinstallPeterJausovec.vscode-dockerDocker语法高亮,自动补全,docker资源(image、container
- Elasticsearch8.4安装及Java Api Client的使用
风於尘
springbootelasticsearchjava开发语言elasticsearchspringboot
目录简介一、ElasticSearch安装二、可视化界面(elasticserach-head)插件安装三、Kibana的安装四、ES核心概念五、IK分词器六、Rest风格说明:ES推荐使用的七、关于索引的操作1、PUT命令2、GET命令3、POST命令4、DELETE命令八、关于文档的操作九、整合SpringBoot,基于JavaAPIClient简介ELK是指Elasticsearch、Log
- es+kibana+logstash快速安装上手
DoloresOOO
elkelkdockerdocker-composelinux
Elasticsearch安装上手Elasticsearch安装与简单配置目录结构bin脚本文件,启动脚本,安装插件,运行统计数据等config集群配置文件JDKjava运行环境data数据文件libjava类库logs日志文件modules包含所有的ES模块plugins包含所有已安装的插件JVM配置修改jvm-config/jvm.options7.1下载的默认是1GB配置的建议Xmx和Xms
- 【学习总结|DAY034】Maven高级
123yhy传奇
学习mavenjava
在Web后端开发中,Maven作为强大的项目管理工具,其高级特性对于优化项目结构、提高开发效率至关重要。本文将结合实际代码示例,深入介绍Maven的分模块设计与开发、继承与聚合以及私服相关知识。一、分模块设计与开发(一)为什么要分模块设计将项目按功能拆分为多个子模块,能极大提升项目的可维护性、扩展性,方便模块间调用与资源共享。以电商项目为例,若将商品、搜索、购物车、订单等功能混在一个模块,代码会变
- chrome插件:网页图片高清下载
易林示
小工具chrome小程序python
前置条件:安装有chrome谷歌浏览器的电脑使用步骤:1.打开chrome扩展插件2.点击管理扩展程序3.加载已解压的扩展程序4.选择对应文件夹5.成功后会出现一个扩展小程序6.点击对应小程序7.输入需要访问的网址,点击扩展插件即可进行图片下载
- Python数据分析之共享单车及建模探索(CLV建模、可视化)
weixin_46205203
笔记python数据分析数据建模
Python数据分析之共享单车及建模探索(CLV建模、可视化)开发环境4.3【开发平台及环境】Windons10教育版Python3.7IntelliJIDEA2018.2.1/PyCharmGoogeChrome数据清洗分析模块pandas,numpy可视化模块matplotlib上期原创:Python数据分析之智联招聘职位分析完整项目(数据爬取,数据分析,数据可视化)链接:https://bl
- FISCO BCOS(二十三)———maven和gradle引入FISCO BCOS Javasdk
林中有神君
#FISCOBCOS2.8.0mavenjavamybatis
build.gradle引入依赖dependencies{compile('org.fisco-bcos.java-sdk:fisco-bcos-java-sdk:2.7.2')
- Flink访问Kerberos环境下的Hive
我若成风zhb
flinkflinkkerberoshivehadoop
目录测试环境工程搭建示例代码及运行总结本文主要介绍如何使用Flink访问Kerberos环境下的Hive。测试环境1.hive版本为2.1.12.flink版本为1.10.0工程搭建使用IDE工具通过Maven创建一个Java工程,具体创建过程就不详细描述了。1.在工程的pom.xml文件中增加如下依赖org.apache.flinkflink-java${flink.version}provid
- java mybatis @Select() 注解中script 执行like
风_流沙
javamybatistomcat
在MyBatis中执行LIKE查询,可以使用以下方法:XML配置方式:SELECT*FROMyour_tableWHEREnameLIKECONCAT('%',#{keyword},'%')这里的#{keyword}是你的查询关键字参数。注解方式:@Select("SELECT*FROMyour_tableWHEREnameLIKECONCAT('%',#{keyword},'%')")Lists
- JAVAEE框架技术之14SSM综合案例 产品管理CRUD
teayear
毕业设计项目java-eejavaspring
SSM综合案例一、课程目标1.【掌握】SSM整合2.【√】学习Lombok使用3.【理解】Layui页面书写(备注:其他前端技术也可以)4.【理解】理解SSM综合案例表的结构5.【掌握】产品管理二、SSM整合Spring+SpringMVC+Mybatis–>SSMSpring+Struts2+Hibernate-->SSH2.1简单整合在学习springmvc时我们发现,springmvc也会像
- Apache Airflow 2.1.2:开源工作流管理系统的全面指南
銀河鐵道的企鵝
本文还有配套的精品资源,点击获取简介:ApacheAirflow2.1.2是一个开源的工作流管理系统,用于编排、调度和监控复杂的业务逻辑。它基于DAG(有向无环图)概念,通过Python代码定义任务的Operator,定义任务的执行顺序和条件。该版本提供了任务调度、监控、错误处理、插件扩展和多环境管理等核心功能。解压后包含许可证文件、文档和源代码目录等,且介绍了安装和运行步骤。Airflow适用于
- 【Wordpress网站制作】无法安装插件/主题等权限问题
TUTO_TUTO
wordpress有用没用小功能apacheapache服务器linux
前言自学笔记,解决问题为主,亲测有效,欢迎补充。本文重点:解决无法安装插件/主题问题问题描述:OS系统,XAMPP+Wordpress,在安装【插件】和下载【主题/模版】的时候,遇到以下问题。Installationfailed:Couldnotcreatedirectory./Applications/XAMPP/xamppfiles/htdocs/mactestwp/wp-content/up
- mybatis的动态SQL(精简版)
MegumiKato丶
知识杂谈sqlmybatis数据库javamysql
目录ifchoose,when,otherwisewheresetincludeforEachif当where后的条件不一定会存在时,需要用if判断要不要有这个条件。例如:当title不一定会被传过来时,可以判断title是否是空,再把后面的sql语句拼起来。select*fromblogwherestate='true'andtitle=#{title}choose,when,otherwise
- 云借阅-图书管理系统
夏之目
程序mybatisjavaspring
程序设计逻辑简单,适合观摩学习使用。文章目录前言一、开发技术与工具二、功能模块三、运行截图总结前言云借阅图书管理系统主要实现了两大功能模块:用户登录模块和图书管理模块,用户登录模块主要用于实现用户的登录与注销;图书管理模块主要用于管理图书,如新书推荐、图书借阅等。一、开发技术与工具1.开发技术:后端:SSM(Spring、SpringMVC、Mybatis)框架前端:JSP、Ajax、JQuery
- 详细介绍:登录功能与form-serialize插件应用示例
还是鼠鼠
ajax前端javascriptbootstraphtml5vscodecss3
目录项目背景与目的完整源码:(index.html)代码分析1.HTML部分(index.html)2.JavaScript部分(script标签中的代码)3.form-serialize插件(form-serialize.js)结论项目背景与目的本案例展示了如何通过HTML、CSS、JavaScript结合Bootstrap框架和axios库实现一个简单的登录功能。用户输入用户名和密码,点击登录
- Notepad++将json字符串格式化
张某人想退休
其他
1、打开插件管理器:插件-插件管理;2、找到JSONViewer,点击安装3、全选要格式化的json字符串,选择“JSONViewer”菜单中“FormatJSON”或按快捷键“Ctrl+Alt+Shift+M”,进行格式化
- chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确
chengpei147
chromejson前端javaspringboot
问题描述chrome游览器又一款JSON插件叫JSONFormatter,游览器GET请求调用接口时,如果返回的数据是json格式,则会自动格式化展示,类似这样:但是今天突然发现怎么也格式化不了,打开一个json文件倒是可以格式化,但是请求接口返回json就是无法格式化问题原因反复卸载重装插件都没有解决,所以想到会不是接口返回的数据有问题,排查发现接口返回的ResponseHeaders中cont
- 【由浅入深认识Maven】第2部分 maven依赖管理与仓库机制
Suwg209
由浅入深认识mavenmavenjava
文章目录第二篇:Maven依赖管理与仓库机制一、前言二、依赖管理基础1.依赖声明2.依赖范围(Scope)3.依赖冲突与排除三、Maven的仓库机制1.本地仓库2.中央仓库3.远程仓库四、版本管理策略1.固定版本2.版本范围五、总结第二篇:Maven依赖管理与仓库机制一、前言后端研发同学经常面临项目中需要依赖大量第三方库的情况。这些依赖库通常是我们工作中的基础工具,例如Spring、Log4j、J
- 《手写Mybatis渐进式源码实践》实践笔记 (第三章 映射器的注册和使用)
Suwg209
手写mybatismybatis笔记java数据库
文章目录第3章映射器的注册和使用背景特点结构代码示例(Java)适用场景优点缺点目标设计实现工程代码类图实现步骤1.映射器注册机2.SqlSession标准定义和实现3.SqlSessionFactory工厂定义和实现测试事先准备测试用例测试结果总结第3章映射器的注册和使用背景工厂模式(FactoryMethodPattern)是一种创建型设计模式,它定义了一个用于创建对象的接口,但允许子类决定实
- thinkphp6+swoole使用rabbitMq队列
伟大的python程序员
swoolerabbitmq后端
安装think-swoole安装composerrequirephp-amqplib/php-amqplib,以支持rabbitMq使用安装rabbitMq延迟队列插件安装rabbitmq_delayed_message_exchange插件,按照以下步骤操作: 下载插件:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/r
- Commander 一款命令行自定义命令依赖
yqcoder
arcgisjavascript前端node.js
一、安装`commander`插件npminstallcommander二、基本用法1.创建一个简单的命令行程序创建一个JavaScript文件,例如`mycli.js`,并添加以下代码://引入`commander`模块并获取`program`对象。const{program}=require("commander");program .version("1.0.0")//设置命令行工具的版本
- idea版本与maven版本不匹配问题报错java.lang.RuntimeException: java.lang.RuntimeException
_ks℘ℳJJ、意中人๓
mavenintellij-ideamavenjava
问题如下解决办法java.lang.RuntimeException:java.lang.RuntimeException:org.codehaus.plexus.component.repository.exception.ComponentLookupException:com.google.inject.ProvisionException:Unabletoprovision,seethef
- eclipse运行java报错,eclipse用maven运行项目报错java.lang.ArrayIndexOutOfBoundsException: 28054...
陈姜梅子
Maven构建错误XML解析pom.xml
[ERROR]28054java.lang.ArrayIndexOutOfBoundsException:28054atorg.codehaus.plexus.util.xml.pull.MXParser.parsePI(MXParser.java:2502)atorg.codehaus.plexus.util.xml.pull.MXParser.parseEpilog(MXParser.java
- 桌面应用程序开发:跨平台方案方案有什么?
柚米汇
开发语言
目前市面上最流行的桌面开发程序框架和工具包括以下几种:1.Electron简介:使用Web技术(HTML、CSS、JavaScript)开发跨平台桌面应用,结合Node.js和Chromium。优点:广泛使用的Web技术,开发门槛低。丰富的插件和生态系统支持。许多成功的应用案例(如VisualStudioCode、Slack、Discord)。工具:VisualStudioCode、Atom。2.
- maven根据不同的环境打包不同的配置文件
诺浅
其他maven多环境配置
缘起我们在做项目的时候经常会遇到有多个环境每个环境的配置不一样的问题,比如我们的生产环境的数据库和测试环境的数据库肯定不会一样,我们每次在本机测试的时候可能配置的URL是测试环境的,要打生产war包的时候又需要把配置改成生产的,来回很容易出错,那么有没有什么简单的办法呢?有的,首先需要你的项目中有使用maven.使用maven插件打包不同的配置文件首先我们需要在pom.xml进行如下配置定义不同的
- Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection do
leaftong
java数据库mybatis
项目场景:背景:在练习mybatis的对象映射时,设置了一个嵌套查询
- 【Blazor】使用C#替代Java编写代码的前端开发框架
雕技小虫
系统开发WindowsServerBlazor.NET前端开发框架webassembly
Blazor是微软于2019年下半年开始陆续全新推出的前端开发框架。优势无需插件,基于Web标准可与JavaScript交互利用.NETCore优势Blazor有两个版本:Server||WebAssemblyBlazorServer可以理解为在服务器上运行的Blazor,客户端与服务器间通过SignalR实进通信,2019年09月正式发布。BlazorWebAssembly2020年05月正式发
- Mybatis plus的基本使用
厂里英才
Mybatisplusmybatisplusspringbootjava
目录1Mybatisplus的简介(来自官网)2基本使用步骤2.1引入依赖坐标2.2定义Mapper并继承BaseMapper接口3直接使用一部分自动生成的方法4基本规则5常用注解(都用于实体类)
[email protected]@TableId5.3@TableField6常见配置1Mybatisplus的简介(来自官网)Mybatisplus(简称MP)是一个Mybatis的增强工具,在MyBa
- 项目推荐:Serverless优化插件 —— 提升您的云函数性能与效率
井队湛Heath
项目推荐:Serverless优化插件——提升您的云函数性能与效率serverless-plugin-optimize⛔️DEPRECATED⛔️BundlewithBrowserify,transpileandminifywithBabelautomaticallytoyourNodeJSruntimecompatibleJavaScript项目地址:https://gitcode.com/gh
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数