自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奈斯菟咪踢呦

用心才是最好的

  • 博客(196)
  • 资源 (17)
  • 收藏
  • 关注

原创 GIT仓库迁移

工作中我们可能会因为业务变动,可能需要将代码仓库进行迁移,从当前旧的仓库 迁移到新的仓库。旧库所有代码迁移至新库(含代码、分支、提交记录)

2023-11-30 16:16:55 365

原创 mysql 插入数据锁等待超时报错:Lock wait timeout exceeded; try restarting transaction

INNODB_TRX 表的 trx_mysql_thread_id 字段对应 show full processlist 中的Id);如果在,就说明这个 sleep 的线程事务一直没有 commit 或者 rollback,而是卡住了,需要我们手动删除。2、再到 INNODB_TRX 事务表中查看,看 trx_mysql_thread_id 是否在 show full processlist 里面的 sleep 线程中(如上图,trx_mysql_thread_id 为 10557347。

2023-08-18 11:52:08 885

原创 Mysql根据创建时间表分区实践

最近订单表遇到大数据量的问题,并且表中随着时间的积累会变得更大,当数据量较大时,存储的物理文件会变得非常大、使用性能很差。因为我的分区键(用来分区的列)没有同时存在于所有的primary key和unique key中。所以创建分区键会报错。分区键(用来分区的列)须同时存在于所有的primary key和unique key中,这是最容易出现问题。ar_sale_order_line_to_c_no_partition(为分区)ar_sale_order_line_to_c_partition(已分区)

2023-08-07 09:50:51 1381

原创 Kruise Rollout v0.3.0:手把手教你实战操作Deployment 分批发布和流量灰度

kubectl版本:v1.20.9heml版本:v3.1.2helm3不在需要tiller,可以设置环境变量KUBECONFIG来指定存有ApiServre的地址与token的配置文件地址,默认为~/.kube/config添加共有的仓库指定k8s集群的位置Kruise-Rollout安装并使用安装Kruise-RolloutKruise Rollout 可以通过 helm v3.1+ 进行简单安装,这是一个简单的命令行工具,您可以从这里获取。

2023-03-27 17:42:18 452 1

原创 docker内部如何访问宿主机上的服务或者应用

docker容器内访问宿主机服务

2022-12-20 11:00:42 3086

原创 Mysql批量插入对比(附github仓库demo)

本文记录个人使用MySQL插入大数据总结较实用的方案,通过对常用插入大数据的4种方式进行测试,for循环单条拼接SQL批量插入saveBatch()循环 + 开启批处理模式最近趁空闲之余,在对MySQL数据库进行插入数据测试MySQL插入大数据一些方案心得,可得知主要是在获取连接、关闭连接、释放资源和提交事务等方面较耗能,其中最需要注意是开启批处理模式,即URL地址的参数:rewriteBatchedStatements = true,否则也无法发挥作用。

2022-12-12 18:22:51 380

原创 k8s常见问题之--(failed to find plugin “flannel” in path [/opt/cni/bin],k8sNotReady解决方案)

当前我的k8s集群是3台,由于业务的增长需要拓展增加到5台,当把node节点一些都配置好,join到集群后,在master节点,需要下载CNI插件:CNI plugins v0.8.6。查看 /opt/cni/bin 缺少 flannel。复制 flannel 到 /opt/cni/bin/结果该节点一直处于NotReady状态;

2022-11-09 16:42:14 2838 2

原创 docker 和 k8s-coredns内部域名解析

在docker环境内部,当使用CURL来访问局域网内的另外一台服务器的时候会出现域名;修改完成后,稍等片刻,CoreDNS 就会自动热加载,我们就可以在集群内访问我们自定义的域名了。通过上面命令修改增加host配置,修改后 Esc :wq!当我在k8s集群中访问私有代码服务的时候域名无法解析;...

2022-08-26 15:18:44 1247

原创 k8s多集群管理

查看kubeconfig文件可以使用kubectlconfig命令,也可以直接查看/root/.kube/config(默认位置)、k8smaster集群。在实际生产环境中,往往需要维护多个k8s集群,在多个环境和节点之间切换,影响工作效率,不符合devops的理念,因此尝试在单个节点下面维护多个k8s集群。至此,在k8smaster节点上维护了两个k8s集群,按照同样的办法可以添加更多的k8s集群,只是通过不同的context进行切换。k8smaster2集群。...

2022-07-25 18:41:28 1513

原创 KubeSphere容器云平台在k8s集群搭建

从KubeSphere安装成功的集群里,拿到默认的StorageClass配置,保存成yaml文件后,添加到集群里。要在Kubernetes上安装KubeSphere3.3.0,您的Kubernetes版本必须是v1.19.x、v1.20.x、v1.21.x、v1.22.x和v1.23.x(实验支持)。确保您的机器满足最低硬件要求CPU>1核,内存>2GB。安装前需要配置Kubernetes集群中的默认存储类。注意此处可能会失败,可以删除重新再部署一下。......

2022-07-20 16:36:54 445

原创 kubeadm方式部署的k8s修改证书年限

kubeadm方式部署的k8s修改证书年限

2022-06-14 16:38:13 1491 1

原创 如何开启Docker远程服务、并创建一个docker容器中执行docker远程服务,并且命令不用添加-H,用户无感知使用的是远程docker服务

工作中我们需要k8s集群中使用一些docker服务,或者是利用一个docker容器,做一些镜像的拉取、制作、上传。如果使用集群的docker,长时间回积累大量的废弃镜像,占用磁盘,导致集群无法正常使用。另一方面,用户可能利用docker做一些违规操作,直接把k8s集群服务搞挂。为了避免以上问题,我们使用远程docker服务,这样让docker服务于集群完全脱离。制作一个docker服务镜像,远程连接到远程的docker服务。按照如下配置vim /lib/systemd/system/docker.ser

2022-06-13 11:26:11 1794

原创 Kubernetes 故障解之(Failed to find subsystem mount for required subsystem: pids)

背景kubeadm安装Kubernetes,集群状态检测时,master一直处于notready状态kubectl get nodes此时master节点处于NotReady状态找问题,先查看pods状态kubectl get pod -n kube-system部分pod处于一直处于pending再进一步看kuberctl.services日志journalctl -f -u kubelet.service发现错误日志Failed to find subsystem moun

2022-05-20 20:14:27 378 1

原创 Docker容器中安装Docke进行自定义镜像

背景最近开发cicd项目,在流水线中需要自定义一些镜像进行特殊业务处理。所以需要构建自定义镜像。本文是Docker中安装Ubuntu容器,然后在这个Ubuntu容器中再安装Docker系统环境centos7docker 20.10.8步骤拉取镜像、启动容器、复制文件到容器内# 1. 下载官方ubuntudocker pull ubuntu:20.04# 2. 运行容器 ub1docker run -it --name ub1 ubuntu:20.04 # 按下 Ctrl +

2022-05-16 19:14:28 180

原创 微服务架构的核心问题

背景工作多年,作为后端开发,经历了几家公司,每家公司都有自己核心的一些技术栈,去到不同的公司自己的学习技术的和实践技术的着重点可能不同,最近想把以前学习到的用到的技术做一个分类总结。首先我想从第一家公司技术栈讲起:springcloud,因为我们是做医药电商,公司内部需要将整个电商中台进行微服务改造。首先将不同的服务模块化,订单中心,用户中心,物流中心,商品中心,报表中心等分别抽出来模块话开发,代码没有变化。微服务架构的4个核心问题:1、服务很多,客户端该怎么访问?2、这么多服务,服务之间如何通信

2022-05-14 20:23:38 358

原创 容器的迁移与备份

说明工作中我们会遇到把当前机器的容器迁移到另外一台机器。此时我们就需要进行容器的备份与迁移。容器保存为镜像比如当前容器名为:mynginx 把这个容器保存为镜像docker commit mynginx mynginx_1镜像备份通过以下命令将镜像保存为tar文件-o:输出docker save -o mynginx.tar mynginx_1镜像的恢复和迁移将备份的镜像tar恢复成一个镜像-i:输入docker load -i mynginx.tar

2022-05-08 22:48:15 553

转载 数据库事务的特性和隔离级别

如果一个数据库声称支持事务的操作,那么数据库必须要具备一下四个特性,也就是我们常说的ACID原子性原子性是指事务包含的所有操作要么全部成功,要么全部失败会滚,因为事务的操作如果成功就必须完全应用到数据库,如果操作失败则不能有任何影响。一致性一致性是指事务必须使数据库从一个一致性状态转换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和B的钱加起来一共是5000,那么A和B之间如何转账,转几次,事务结束后,两个用户的钱加起来应该还是5000,这就是事

2022-04-17 22:29:21 75

转载 Mysql的索引为什么用B+树?InnoDB的数据存储文件和MyISAM有何不同?

为什么需要建立索引?首先我们知道建立索引的目的是提高查询速度,那么为什么有了索引就可以提高查询速度呢?我们看下,一个索引示意图:如果我有个sql语句是:select * from table where id=15 那么在没有索引的情况下其实是会进行全表扫描的,就是挨个去查找。直到找到id为15的这条记录,时间复杂度为O(n)。如果在有索引的情况下查询,首先会根据id=15,在索引值里面进行二分查找,二分查找的效率很高,他的时间复杂度是O(logn)。这就是索引为什么能提高查询效率,但是索引数据的

2022-04-17 21:58:25 160

转载 MySql是如何实现事务的ACID

事务的四大特性事务的四大特性ACID分别是,A-原子性(Atomicity)、C-一致性(Consistency),I-隔离性(Isolation)、D-持久性(Durability)。一致性是最终的目的,原子性、隔离性、持久性是为了保证一致性所做的措施。原子性原子性就是指一个事务就是一个不可分割的工作单元,要么全部执行成功,要么全部执行失败,没有中间状态或者只执行一部分。mysql的InnoDB引擎是靠ubdo log(回滚日志)来实现的。undo log能够保证在事务回滚时,撤销所有所有已经执行成

2022-04-10 13:49:34 983

原创 使用kubeadm方式搭建K8S集群

一、说明kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点kubeadm init# 将一个 Node 节点加入到当前集群中kubeadm join <Master节点的IP和端口 >二、 Kubeadm方式搭建K8S集群试用kubeadm方式搭建K8s集群主要分为以下几步 准备三台虚拟机,同时安装操作系统CentOS7.x 对三个安装之后的操作

2022-02-10 10:40:02 130

原创 Linux 下搭建NFS服务器

Linux 下搭建NFS服务器一、 说明NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一

2022-02-09 16:24:39 472

原创 SpringBoot知识体系整理+Vue3技术栈

网上看到非常不错的两张只是体系图,以供学习SpringBoot知识体系整理:Vue3技术栈

2021-09-17 10:16:22 190

原创 Docker网络

理解网络Docker0测试三个网络问题:,docker是如何处理容器网络访问的测试1、运行一个tomcat容器docker run -d -P --name tomcat01 tomcat2、查看容器内部网络地址 ip addr3、执行tomcat容器启动并查看容器ipdocker exec -it tomcat01 ip addr#发现容器启动的时候会得到一个eth0@if262 ip地址,docker分配的4、在linux 服务器,也就是docker 的宿

2021-08-25 18:51:12 180

原创 Dockerfile

dockerfiledockerfile是一个用来构建docker镜像的文件!命令参数脚本!构建步骤:1、编写一个dockerfile文件2、docker build 构建成为一个镜像3、docker run 运行镜像4、docker push 发布镜像(DockerHub、阿里云镜像仓库)DockerFile构建过程基础知识1、每个保留关键字(指令)都是必须事大写字母2、执行从上到下顺序执行3、#表示注释4、每一个指令都会创建提交一个新的镜像层,并提交dockerfile

2021-08-21 18:59:19 101

原创 初识Dockerfile和数据卷容器

初识DockerfileDcokerfile就是用来构建docker镜像的构建文件!命令脚本!通过这个脚本可以生成镜像,镜像就像一层一层的,脚本一个个命令,每个命令都是一层#创建一个dockerfile文件,名字可以随意,建议Dockerfile#文件中的内容 指令(大写) 参数FROM centosVOLUME ["volume1","volume2"]CMD echo "------end------"CMD /bin/bash# 这里面的每一个命令,就是镜像

2021-08-21 15:56:48 88 1

原创 容器数据卷

什么是数据卷docker的理念将应用和环境打包成一个镜像!数据?如果数据在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化Mysql,容器删了,删库跑路了!需求:mysql数据可以存储在本地容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!这就是卷技术!目录的挂载,将在我们容器内的目录,挂在到linux上面总结一句话:容器的持久化和同步操作!容器间也可以数据共享的使用数据卷方式一:直接使用命令挂载 -vdocker run -it -v

2021-08-21 15:23:30 68

原创 Docker 日志、元数据、进程查看、进入容器、容器文件copy到主机命令

前言当我们在工作中应用容器部署项目的时候,肯定会像在服务器部署一样,需要查看服务的日志,元数据,进程等,所以在容器中也要学会这些基本的操作命令后台运行容器docker run -d 镜像名问题:当你用上面命令运行某个容器后,问题当docker ps 发现run的容器停止了。坑:docker 容器使用后台运行的时候,就必须要有一个前台进程,docker发现没有应用就会自动停止。比如后台启动ngnix 容器,容器发现没有提供服务,就会立刻停止,就是没有程序了。查看日志docker lo

2021-08-15 12:54:03 328

原创 Docker常用命令

前言由于最近工作还是学习都一直用到容器,下面将自己用到的一些常用docker命令做一个总结;建议学习方式:docker 官方文档:https://docs.docker.com/engine/reference/builder/Docker常用命令(这些命令是闭着眼睛也要记住的)帮助命令docker version #docker 版本docker info #docker 基本信息docker 命令 --help #万能命令镜像命令docker

2021-08-14 17:41:13 81

原创 k8s集群节点无法创建pod解决:错误提示(Docker error : “/sys/fs/cgroup/memory/xxxx“ “no space left on device“)

前言最近部门的k8s 集群为了扩展,增加了两个节点,结果用了一段时间后莫名出现了以下问题,新增的这两个节点上无法创建pod从rancher发现事件报错信息如下:问题排查步骤第一步:报错信息说无法创建,于是进入到/sys/fs/cgroup/memory/docker目录下用touch 创建一个文件:结果报错:no space left on device第二步:从提示本人以为是磁盘满了,于是上到具体的k8s节点看了下磁盘,用命令 df -h ,结果磁盘是充足的。第三步:docke

2021-08-12 11:17:34 2175

原创 docker添加镜像加速器

前言国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务切记:每次安装docker 后就配置好,不然后面好多镜像拉取有问题镜像加速器配置方式目前主流 Linux 发行版均已使用 systemd 进行服务管理,这里介绍如何在使用 systemd 的 Linux 发行版中配置镜像加速器。请首先执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。$ systemctl cat docker | grep '\-\

2021-07-22 16:32:06 346 1

原创 Kaniko构建镜像

一、前言最近公司重构devops相关的一系列平台,对于流水线中用容器方式交付的产品越来越多,为了更加安全的方式来构建容器镜像,采用Kaniko构建。在了解如何用Kaniko构建镜像之前,我们先了解一下几种构建镜像的方式。二、docker构建镜像docker构建镜像是常用的方法,在具备构建容器镜像所需要的两个要素(Dockerfile和上下文)的前提下,用下命令就能构建一个容器镜像出来。docker build -t your_registry/your_repository:tag .然后用

2021-07-22 16:25:31 1424 1

原创 Docker 从Dockerfile 构建镜像并上传至远程dockerhub仓库

一、前言最近项目频繁用到docker,也是将自己的学习记录。Dockerfile 创建完成后,可以使用 docker build 命令根据 Dockerfile 构建一个镜像一、创建一个Dockerfile三、执行命令构建镜像docker build -t test:v1.0 .注意最后有个点,默认使用 “上下文目录(Context)下的名为Dockerfile 的文件作为 Dockerfile”,我这条命令的点表示当前目录下的Dockerfil-t test: v1.0 给新

2021-07-22 15:45:41 918

原创 安装vmware搭建k8s集群(亲试无坑)

前言准备环境环境说明宿主机windows10vmware版本v16centos(使用 cat /etc/redhat-release 查看)centos Linux Release 7.9.2009(core)linux内核(使用uname -r查看)3.10.0-1160.e17.x86_64虚拟机说明192.168.3.129Master192.168.3.134node1centos...

2021-07-22 11:17:00 6749 5

原创 Kubernetes+Jenkins+GitLab实现CI/CD(一)

一、CI/CD是什么?CI: 持续集成(Continuous Integration)CD:持续交付(Continuous Delivery)CD:持续部署(Continuous Deployment)持续集成它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。持续交付的目的是最小化部署或释放过程中固有的摩擦。它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成

2021-07-07 16:08:34 170

原创 Office Online Server 在线编辑Office文档,安装部署

最近公司项目需求,需要搭建一个office预览编辑的服务,在网上找到了Office Online Server在线编辑office文档,以下把自己搭建过程记录一、Office Online Server介绍Office Online Server是 Office Web Apps Server 的升级版本,安装环境必须为两台Windows Server 2012 R2 或 Windows Server 2016服务器(注意,Windows Server 2016 需要 Office Online Ser

2021-06-23 19:56:38 9056 14

转载 单点登录的三种实现方式

前言在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的。当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID 或 Token ),并要求客户端在之后的每次请求中携带它们。在这样的场景下,使用 Cookie 无疑是最方便的,因此我们一般都会将 Session 的 ID 或 Token 保存到 Cookie 中,当服务端收到请求后,通过验证 Cookie 中的信息来判断用户是否登录 。单

2021-06-10 18:22:31 140

转载 数据库实现缓存最终一致性的一些方法

背景缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景。而缓存一致性的保证,这里进行一下总结,针对不同的要求,选择恰到好处的一致性方案。缓存是什么存储的速度是有区别的。缓存就是把低速存储的结果,临时保存在高速存储的技术。如图所示,金字塔更上面的存储,可以作为下面存储的缓存。我们本次的讨论,主要针对数据库缓存场景,将以redis作为mysql的缓存为案例来进行。为什么需要缓存存储如mysql通常支持完整的ACID特性,因为可靠性,持久性等因素,性能普遍不高,高并发的查询

2021-06-10 17:38:49 216

原创 记一次线上服务平均响应时间太长,利用线上诊断神器 Arthas排查

记一次线上服务平均响应时间太长,利用线上诊断神器 Arthas排查再一次开发中线上环境服务响应很慢,同事建议了一种查看方式,然后网上找找到了同样的解决方式,再此记录并学习一下;为代码添加上详细的打印日志;不建议 ,一是线上环境,没法随便的重新部署更换了详细日志的代码,二是 添加详细的日志输出,那就意味这会生成大量的日志文件,这些日志文件会占据大量服务器磁盘空间。建一个模拟了线上环境的测试环境进行复盘排查;额,出现了这种问题哪有那么多的时间让你进行环境复盘排查,所以此方案也是 不建议的线上诊断神器

2021-06-10 11:53:07 409

原创 mybatis-generator自动生成代码

目的:减少代码编写,自动生成model,dao和mapper在maven中添加pom依赖<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version></dependency>在buil

2020-07-23 16:55:32 103

原创 树的遍历(先序/中序/后序/层次)

import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int x){ val = x; }}public class Tree { public stati

2020-05-20 10:44:05 213

并创建一个docker容器中执行docker远程服务,并且命令不用添加-H,用户无感知使用的是远程docker。所需要替换文件

并创建一个docker容器中执行docker远程服务,并且命令不用添加-H,用户无感知使用的是远程docker。所需要替换文件 里面包含 docker 、docker-client、docker-entrypoint.sh **docker** (这个文件需要修改添加如下内容) 是文件docker客户端执行命令前需要添加的参数 /usr/bin/docker-client -H 192.168.0.58 $@ 192.168.0.58 远程docker服务器的IP地址 /usr/bin/docker-client:传入的docker-client路径 **docker-client**(直接传入不用做修改) docker客户端 **docker-entrypoint.sh**(直接传入不用做修改) 功能覆盖镜像默认命令,本来远程执行docker需要添加-h 远程docekr服务器ip,通过这个脚本,就会把这个命令重写,用户无感知,再容器中使用远程docker服务,也就是执行docker命令就好像是执行本地docker一样。其实是用的远程的docker

2022-06-13

wisesoftOffice.zip

office online server +wipo代码实现office在线预览编辑 Java代码,springboot

2021-07-13

MicrosoftIdentityExtensions-64.msi

Microsoft.IdentityModel.Extention.dll

2021-06-23

Microsoft Visual C++ 2013 Redistributable (x64).zip

office online server 安装搭建所需要软件

2021-06-23

Java 获取视频时长、格式、大小需要的jar

Java 获取视频时长、格式、大小需要的jar jave-1.0.2

2019-01-05

fiddler抓包工具

Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的

2018-07-30

idea 搭建springboot 集成mybatis+springmvc

idea 搭建springboot 集成mybatis+springmvc idea 搭建springboot 集成mybatis+springmvc

2018-07-04

java高并发买秒杀完整代码

Java 高并发 spring springMVC mybatis bootstrap js readis 存储过程 mysql

2018-06-12

java高并发秒杀系统

Java高并发秒杀系统,springmvc + maven + mysql + spring+mybatis

2018-06-08

spring-cloud 原创代码例子包含服务发现、服务注册、服务路由、熔断器、feign等

spring-cloud 原创代码例子包含服务发现、服务注册、服务路由、熔断器、feign等

2018-05-21

mybatis3 源码

mybatis3 源码

2018-05-18

Mysql-python

win10 64位 MySQLd安装 一次性成功

2018-05-11

eureka(微服务之——服务注册发现、服务消费者,服务提供者简单实例)

eureka(微服务之——服务注册发现、服务消费者,服务提供者简单实例)

2018-01-23

spring boot ribbon-consumer工程:使用Ribbon实现的消费者服务

spring boot ribbon-consumer工程:使用Ribbon实现的消费者服务

2018-01-16

spring boot 服务提供者工程

spring boot 服务提供者工程 spring.application.name=hello-service

2018-01-16

spring boot服务注册中心

spring boot服务注册中心 适合初学者的例子 eureka-server工程: 服务注册中心, 端口为1111。

2018-01-16

Spring+Mybatis+SpringMVC+MySql的搭建实例

最完整的Spring+Mybatis+SpringMVC+MySql的搭建实例

2018-01-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除