自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 Mybatis-批量执行

前提 必须要在数据库连接url加上 &rewriteBatchedStatements=true 来开启批处理,否则还是一条一条写入的1.基于JDBC的批量执行 ps.addBatch() ps.executeBatch(); /** * 原生JDBC的批量操作方式 ps.addBatch() * @throws IOException */ @Test public void testJdbcBatch() throws IO

2021-09-24 17:39:37 697

原创 Mybatis-核心配置

一级标签configurationconfiguration 是整个配置文件的根标签,实际上也对应着 MyBatis 里面最重要的 配置类 Configuration。它贯穿 MyBatis 执行流程的每一个环节。我们打开这个类看一 下,这里面有很多的属性,跟其他的子标签也能对应上。 注意:MyBatis 全局配置文件顺序是固定的,否则启动的时候会报错。properties第一个是 properties 标签,用来配置参数信息,比如最常见的数据库连接信息。 为了避免直接把

2021-09-18 14:59:17 129

原创 Mybatis-核心对象

1)SqlSessionFactoryBuiler 首 先 是 SqlSessionFactoryBuiler 。 它 是 用 来 构 建 SqlSessionFactory 的 , 而 SqlSessionFactory 只需要一个,所以只要构建了这一个 SqlSessionFactory,它的使命 就完成了,也就没有存在的意义了。所以它的生命周期只存在于方法的局部。2)SqlSessionFactory SqlSessionFactory 是用来创建 SqlSession 的,每次

2021-09-18 09:53:49 207

原创 Mybatis-动态标签

1.<if test =""> —— 需要判断的时候,条件写在 test 中<select id="selectDept" parameterType="int" resultType="com.X.crud.bean.Department"> select * from tbl_dept where 1=1 <if test="deptId != null"> and dept_id = #{deptId,jdbcType=INTEGER}

2021-09-15 10:39:09 406

原创 Mybatis-常见问题解答

1.resultType 和 resultMap 的区别resultType 是<select>标签的一个属性,适合简单对象(POJO、JDK 自带类型: Integer、String、Map 等),只能自动映射,适合单表简单查询。<select id="selectAuthor" parameterType="int" resultType="com.X.domain.Author"> select author_id authorId, autho

2021-09-15 10:05:08 73

原创 MyBatis-模糊查询 LIKE

1、字符串拼接 在 Java 代码中拼接%%(比如 name = "%" + name + "%"; ),直接 LIKE。因为没 有预编译,存在 SQL 注入的风险,不推荐使用。2、CONCAT(推荐)<if test="descr !=null"> AND DESCR LIKE CONCAT(CONCAT('%',#{descr,jdbcType=VARCHAR}),'%')</if>3、bind 标签<select id="getEm

2021-09-14 16:00:16 1771

原创 MyBatis-自定义Interceptor实战

1、编写自己的插件类 1)实现 Interceptor 接口 这个是所有的插件必须实现的接口。 2)添加@Intercepts({@Signature()}),指定拦截的对象和方法、方法参数 方法名称+参数类型,构成了方法的签名,决定了能够拦截到哪个方法。 问题:拦截签名跟参数的顺序有关系吗? 3)实现接口的 3 个方法// 用于覆盖被拦截对象的原有方法(在调用代理对象 Plugin 的 invoke()方法时被调用) Obj...

2021-09-14 10:12:52 710

原创 MyBatis-自定义TypeHandler实战

1.自定义TypeHandler-RoleParamMappingTypeHandlerpublic class RoleParamMappingTypeHandler extends BaseTypeHandler<String> { private static final Map<String,String> roleMappingInput=new HashMap<>(4); private static final Map<Strin

2021-09-13 19:16:14 1305

原创 Spring Clould 负载均衡学习笔记

RestTemplate负责均衡调用代码@RestControllerpublic class UserController { @Autowired RestTemplate restTemplate; @Autowired LoadBalancerClient loadBalancerClient; //方式一 // @Bean // //@LoadBalanced 开启客户端负载均衡,即restTemplate.get

2020-08-06 17:57:48 141

原创 linux 混合模式MongoDB服务搭建(数据分片)

linux 混合模式MongoDB服务搭建(数据分片)准备在ip1 主机上创建仲裁服务创建配置服务创建分片服务复制以上文件到ip2 和Ip3服务器上二级目录三级目录准备至少准备9台机器,如果没有,可启动9个MongoDB由于自己只有三台虚拟机,所以,下面就开始搭建伪分布式MongoDB集群在ip1 主机上创建仲裁服务mongodb文件夹下创建routersvr在routersvr文件夹下创建 log config在config 文件夹下创建mongodb.cfgvi mongodb.cf

2020-07-27 15:35:42 237

原创 linux M-A-S模式MongoDB服务搭建

linux M-A-SMongoDB服务搭建准备修改配置启动服务配置集群实践准备在上一节的基础上,安装三台主机修改配置dbpath=/opt/soft/mongodb/datalogpath=/opt/soft/mongodb/log/mongodb.logfork=truelogappend=truebind_ip=0.0.0.0#添加如下配置port=27017replSet=shard002启动服务mongod -f /opt/soft/mongodb/mongodb.c

2020-07-23 22:56:24 195

原创 linux单机MongoDB服务搭建

单机MongoDB服务搭建准备配置运行停止服务结语准备下载安装包MongoDB官网下载社区版最新的安装包拷贝mongodb-linux-x86_64-rhel70-4.2.8.tgz到环境 /opt/soft下解压tar -zxvf mongodb-linux-x86_64-rhel70-4.2.8.tgz重命名 文件 mv mongodb-linux-x86_64-rhel70-4.2.8 mongodb此时MongoDB 就已经搭建好了配置配置环境变量vi /etc/

2020-07-22 10:00:49 233

原创 CentOS7安装Redis单实例 转载加补充

CentOS7安装Redis单实例由于环境差异,安装过程可能遇到各种各样的问题,不要慌,根据错误提示解决即可。1、下载redis下载地址在:redis.io比如把Redis安装到/usr/local/soft/cd /usr/local/soft/wget http://download.redis.io/releases/redis-5.0.5.tar.gz2、解压压缩包tar -zxvf redis-5.0.5.tar.gz3、安装gcc依赖Redis是C语言编写的,编译需要yum

2020-06-17 23:30:51 144

原创 spring boot自动装配机制 学习笔记

spring boot自动装配机制 学习笔记闲谈spring以及spring boot相关概念理解约定大于配置的体现注解的理解闲谈为什么陈咬金靠着三板斧就可以成为国公?那学习spring自动装配的三板斧就必须得了解了,学好spring是学好spring boot的基础,因为相比spring,spring boot没有新的技术点,它是服务于spring框架的框架,用于快速构建springweb项目,遵守约定大于配置的原则,前边我们通过spring的SPI机制(满足目录一致,文件名一致,key要存在并符

2020-05-25 01:08:58 297

原创 手把手 自定义{name}-spring-boot-starter组件

手把手 自定义XXX-spring-boot-starter组件前记准备项目功能定义添加spring管理测试pom.xml测试类自定义配置参数加载测试注释掉fastjson 的依赖,会加载StringFormatProcessor解析添加fastjson 的依赖,会加载JsonFormatProcessor解析前记想必大家都用过spring boot的starter组件,开箱即用,最近对此做了学习,整理笔记记录如下准备创建一个maven项目,定义要封装的功能组件,然后通过spring的自动装配机制和

2020-05-24 09:33:57 190

原创 手把手 rocketmq 集群搭建

手把手 rocketmq 集群搭建单机节点准备配置启动启动nameserver查看mqnamesrv 启动日志启动rocketmq集群搭建单机节点准备官网下载http://rocketmq.apache.org/docs/quick-startrocketmq-all-4.7.0-bin-release.zip上传服务器解压 unzip rocketmq-all-4.7.0-bin-release.ziprocketmq-all-4.7.0-bin-release配置如果您的主机是服务器请忽

2020-05-22 19:13:41 1378

原创 手把手kafka集群搭建

手把手kafka集群搭建单节点服务准备解压配置fakfa节点序号pei配置监听配置Zookeeper配置启动服务集群搭建配置fakfa节点序号pei配置监听配置Zookeeper配置启动节点成功标志目前发现的报错问题解决办法kafka 依赖zookeeper 实现集群管理,如还没有zookeeper,请先参照手把手ZooKeeper 集群搭建单节点服务准备官网下载http://kafka.apache.org/http://kafka.apache.org/downloads 下选择 kafka_

2020-05-22 14:27:22 209

原创 手把手ZooKeeper 集群搭建

ZooKeeper 集群搭建单机节点准备数据准备环境配置进入路径编辑zoo.cfg启动进入bin 启动服务查看状态集群搭建配置修改 vi zoo.cfg创建 myid启动服务查看状态外藩单机节点准备数据官网下载安装包 https://zookeeper.apache.orgHTTPhttps://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gzhttps://mirrors.

2020-05-22 12:11:33 164

原创 手把手 RabbitMq集群搭建

一 版本兼容性二 安装配置erlang三 安装配置rabbitmq

2020-05-21 23:48:26 203

转载 docker 初体验 课程笔记

学习笔记,之前平台不支持md,自己写了两篇,后面平台开始支持md,感觉没有必要自己记笔记了,直接贴上鼓泡学院jack老师的课堂笔记,仅仅为了学习方便,1.5.1 在Win10上准备centos7和大家说明一下,我们的目的仅仅是要安装一个centos7,然后在centos7上安装docker如果搞不定vagrant+virtualbox的方式,也可以直接使用VM搭建一个centos7或者你可以直接使用一台云服务器,上面安装了centos7毕竟我们的目的只是为了得到一个centos7的机器,所以

2020-05-17 16:58:09 186

原创 手把手,VUE 打包打包改造教程

VUE 打包封装 最近公司好多项目用到了VUE,大家有遇到VUE打包生产,测试要修改配置文件的痛点,由于算是比较早的VUE使用人员,之前对webpack有所研究,结合项目和网上资料,自己实践过VUE项目打包改造。总结如下,希望对大家有所帮助1.对打包的理解为什么 npm run build 会执行打包?由于之前是小白,也没有时间研究webpack,所以我全文搜索了一下build,最后发现最有关联可能的就是build.js和package.json,此外之前对element ad...

2020-05-15 17:14:17 1352

原创 对spring clould 意淫

疫情期间的思考 疫情刚开始的时候,由于过年玩疯了,外加认为疫情很快就能过去,就继续玩了,直到两个月过去了,仍不能正常上班,开始慌了 于是乎在远程办公之余,开始研究Java多线程,高并发,锁,并发工具,线程池,最后学习协议,rpc通信,Nio,netty,zk,double,目前又一定的收获,结合公司spring clould开发平台,发出如下思考。 与double相比,spring clould感觉就不那么香了,spring clould 缺乏double分布式治理生态,...

2020-05-08 22:38:05 176

原创 常见的正则表达式,包含只在非空输入时检查合法性

//非空验证 requiredReg:/\S/, //姓名验证 nameReg:/^[a-zA-Z\u4e00-\u9fa5]{1,10}[a-zA-Z\u4e00-\u9fa5]{1,10}[\.a-zA-Z\u4e00-\u9fa5]{0,10}$/, //身份证验证 ...

2019-12-18 09:23:09 927

原创 Design pattern ——singleton pattern(单例总结深思)

Talk is cheapShowmethecode个人学习笔记--仅供参考单例模式可以保证内存里只有一个实例,减少了内存开销;可以避免对资源的多重占用。单例模式看起来非常简单,实现起来其实也非常简单。总结一下,前几章主要讲了饿汉式:1,经典饿汉式 2静态代码块饿汉式优点:没有加任何的锁、执行效率比较高,在用户体验上来说,比懒汉式更好。缺点:类加载的时候就...

2019-11-15 14:17:48 73

原创 Design pattern ——singleton pattern(单例深入研究)

Talk is cheapShowmethecode个人学习笔记--仅供参考注册式单例注册式单例又称为登记式单例,就是将每一个实例都登记到某一个地方,使用唯一的标识获取实例注册式单例有两种写法:一种为容器缓存,一种为枚举登记枚举package pattern;/** * 注册式单例又称为登记式单例,就是将每一个实例都登记到某一个地方,使用唯一的标识获取实...

2019-11-15 13:31:34 87

原创 Design pattern ——singleton pattern(单例深入)

Talk is cheapShowmethecode个人学习笔记--仅供参考基于上次内容,我们的单例模式已完善,看似没有问题了,也保证了单例对象的唯一性但是,通过其他非正常手段还是可以改变你单例1通过反射机制package pattern;import java.lang.reflect.Constructor;/** * * @author qsnp2...

2019-11-15 09:44:32 114

原创 Design pattern ——singleton pattern(单例基础)

Talk is cheapShowmethecode个人学习笔记--仅供参考饿汉式 1package pattern;/** * 懒汉式,类被加载的时候,就生成相应对象 * 这种方式会造成资源浪费, * Spring 中IOC 容器ApplicationContext 本身就是典型的饿汉式单例 * @author qsnp236 * */public cl...

2019-11-14 10:51:18 81

原创 java 类的加载过程

Talk is cheapShowmethecodeFatherpackage pattern;public class Father { public static String name; static { System.out.println("Father static block"); System.out.println("Father bloc...

2019-11-14 10:42:29 59

原创 Docker学习笔记——前言

前言:个人理解,docker 可以看成一个完整的微型linux操作系统,拥有linux的最小集,采用的namespace 和veth pari 技术实现了网络的隔离和通信,并支持将端口映射到宿主机端口,实现外部访问。个人认为docker 的思想和 jVM 非常相似,只不过它借助了linux系统的优点,实现了将操作几系统集成到环境中,不依赖宿主机的硬件,实现了完全隔离,同时支持container 反...

2019-11-05 12:00:25 135

原创 Docker学习笔记——linux 虚拟机设置代理

1.问题是公司的网络只让通过代理服务器访问互联网,挺不方便的,增加了至少2个小时简单记录一下,弄了半天1全局代理设置#打开profile文件vim /etc/profile#添加Proxy代理信息(其中username和password根据需要填写,若无则不填写)http_proxy = http://username:password@proxy_ip:port/http...

2019-11-01 17:00:30 1016

原创 加密相关

Hex.encode依赖的包导入,网上没有找到对应gradle依赖引入,就照着maven来了一下,没想到居然可以compile ('org.bouncycastle:bcprov-jdk15on:1.55')

2019-08-15 09:49:24 237

原创 java enum类型经典使用

enum类型用好了,非常比遍历,可以通过对象对比,描述转化,描述转化为对应的enum对象 1、枚举类的对象默认都是public static final    2、枚举类的构造器都是private,所以无法在外部创建其实例    3、enum类不可被继承。package com.xue.wechat.enums.sys;/*** 微信基础授权类型...

2019-08-14 18:42:49 248

原创 spring Boot 起步

1.项目启动网址https://start.spring.io/2.版本选择以gradle为例添加依赖,也可以后面自己加其他依赖3.eclipse导入gradle项目4.查看配置文件application.properties中的配置是否可以被加载到,设置一个server.port=XXXX,然后启动项目,看服务端口是否改变,其中遇见到加载不到该配置解决...

2019-08-14 14:52:08 61

原创 VUE项目引入mandMobile 样式错乱

1.有时候引入前端框架,可能组件的样式变了,造成这一问题的原因是有的矿建是以px作为组件样式加载,有的框架是以rem作为组件样式加载,所以用到的加载类不一样,2.mandMobile 样式错乱就是上述问题引起再utils.js中找到// generate loader string to be used with extract text plugin function ge...

2019-08-05 14:42:30 1818

原创 页面悬浮,拖动

HTMl<div id="touch" class="visible-block"> <div style="width:100%;margin: 3px auto;"> <a href="http://XXX/Login"> <button class="floatL MDSure btnInform" id="a...

2019-07-29 11:58:56 208

原创 VUE+IVIEW从无到有实践(二)

vue-i18n 国际化1安装npm install --save [email protected]创建目录language3.编辑index.js/** * 引入vue-i18n */import Vue from 'vue'import VueI18n from 'vue-i18n';Vue.use(VueI18n);/** * 导入iview自带语言...

2019-05-14 16:06:01 1016 2

原创 VUE前后端分离系统部署

前后端分离,除非部署在同台服务器上,否则都会遇到跨域问题,什么是跨域问题,我理解的是IP+Port,只要其中一个不一致,就会出现跨域问题,解决跨域问题的方式有很多种,我觉得最简单的解决方案有两种1.就是nginx服务器解决,2.就是直接做域名映射,通过域名调用。开发环境不用担心,vue自己有跨域配置测试环境 采用nginx配置生产环境就随意了,如果资源丰富,随意。...

2019-05-14 16:04:01 543

原创 VUE学习总结

对VUE近半年的学习,用过IVIEW,ELMENT ADMIN,MAND-MOBILE,从无到有,自己一步步搭建脚手架,直接下代码,自己打包,部署前后端分离。...其他基于VUE移动端框架都有研究,只是知道会用,其他的没有深入了解。感觉所有框架都大同小异。同 :用VUE技术语法,实现前端效果。数据绑定,数据驱动。调用后台异:组件封装程度不同,组件调用风格不同。上手...

2019-05-14 15:36:53 82

原创 Vue打包问题

Vue打包会遇见各种各样的问题,总结如下,1.打包后页面为空白,没有报错信息一般是Router中的mode被设置成了history模式,如export default new Router({linkActiveClass: 'active',// mode: 'history', //加入这一句即可去掉路径中的#routes: []因为VUE根据#确认根路径,然后获取...

2019-05-14 15:27:56 295

原创 VUE微信分享#字符截断

VUE真的是坑啊,你提供了history模式,却又不直接支持history模式打包,采用hash模式,打包后有#,导致微信分享失败,尝试了N中办法实际测试,都不行,最终还是采用了前端重定向解决好了,不抱怨了,先说一下我的解决思路,首先微信分享步骤在此就不做赘述了,参照微信开发文档,以URL=http://www.xxxx.com/html/dist/index.html#/product...

2019-05-14 14:53:17 1405 2

空空如也

空空如也

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

TA关注的人

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