自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go 1.16中,go module机制的变化 no required module provides package err

在Go 1.15版本中,go build会自动分析源码中的依赖,如果go.mod中没有对该依赖的require,则会自动添加require,同时会将go.sum中将相关包(特定版本)的校验信息写入。也就是说go build/run命令不再自动更新go.mod和go.sum了go build并不会向go 1.15及之前版本那样做出有“副作用”的动作:自动修改go.mod和go.sum,而是提示开发人员显式通过go get来添加缺少的包/module,即便是依赖包major版本升级[20]亦是如此。所以

2021-12-14 12:45:50 1643

原创 2021-09-13 golang针对空指针操作不报错的情况

package mainfunc main() { var x *struct { s [][32]byte } println(len(x.s[99]))}这里不报错是因为len没有对s取值只是取了类型的长度,同理下列代码也不会报错var testdata *struct { a *[7]int}for i, _ := range testdata.a { fmt.Println(i)}因为"range" 子句中右侧的表达式被称为 range

2021-09-13 15:00:22 250

原创 linux打开脚本文件中文乱码

由于有些脚本使用的是gbk编码,到了linux由于一些原因会乱码,可以使用指定的字符编码打开如使用gbk打开coding_test.f90文件如下vi coding_test.f90 -c “e ++enc=gbk”

2021-04-20 11:15:12 1103

原创 mysql 报Error 1390: Prepared statement contains too many placeholdersy - 记一次xorm插入多条数据得报错

近日使用xorm插入多条数据时发现出错Error 1390: Prepared statement contains too many placeholders网上发现是占位符过多,原来是xorm生成了多条insertsql一起执行报的错,一条sql占位符不能超过65535个我使用得解决办法是分批次插入 index := 0 //如果不超过两千条即直接插入即可 if len(acc) < 2000 { //这里分为两千条插入一次 //直接插入 //todo fmt.Println(

2021-04-13 20:51:20 797

原创 go语言的int和int32 int64的区别

int在32位系统上是4个字节int在64位系统上是8个字节int32在哪都是4字节int64在哪都是8字节

2021-03-30 14:01:38 2822

原创 golang交叉编译

SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build

2021-03-05 16:47:34 77

原创 记一次测试导错测试包导致的报错

这里可以看到测试正常跑完了但是会报警告: Runner org.junit.internal.runners.ErrorReportingRunner (used on class com.yianjia.wechat.utils.TemplateUtilsTest) does not support filtering and will therefore be run completely.java.lang.Exception: No runnable methods经过仔细检测后发现..

2020-10-19 10:41:19 165

原创 如何比较golang中的结构体是否相等

如果是相同的无复杂类型的结构体创建的对象 可以直接使用 == 对比值和指针简单类型可排序的数据类型整型Integer浮点型Floating-point字符串String可以比较的数据类型除了上述三种外,还有Boolean,Complex,Pointer,Channel,InterfaceArray复杂类型 不可比较的数据类型SliceMapFunction如下type User struct { age int name string}func m.

2020-10-07 02:54:45 4702

原创 golang安装新版本后debug启动报 Version of Delve is too old for this version of Go

今天把1.13的旧版本golang更新成1.15.2 发现debug报错\完整的报错信息可以看到 第4行的dlv.exe使用的是goland自带的调试包的 ,但是我的goland是旧版本,最大支持到1.13 所以会报错 我们可以找到该工具 替换成最新版本GOROOT=D:\Program Files\go #gosetupGOPATH=D:\golandWorkapace;C:\Users\Qiang\go #gosetup"D:\Program Files\go\bin\go.exe" .

2020-10-06 20:14:24 1073

原创 golang内置函数 new()与make()的区别

使用new(T) 会为 T 类型的新值分配已置零的内存空间,并返回地址(指针)实际使用如下 ints := new([]int) //创建一个切片 这时ints是指针类型 *ints = append(*ints, 1,123,4,56,7,8,89,8,7) //使用必须先用*取值 fmt.Println(*ints) //如果想打印结果是切片里的值也必须使用*取值 [1 123 4 56 7 8 89 8 7]使用 make(T,len) 返回初始化之后的 T 类型的值.

2020-10-02 19:18:47 115

原创 使用make方法创建slice切片的坑

先查看下面的代码package mainimport "fmt"func main() { ints := make([]int, 3) ints = append(ints, 1) fmt.Println(ints)}打印的结果是[0 0 0 1]因为使用 内置函数 make([]type, len) 创建slice 时 len参数视为初始长度,会自动初始化,这里我们使用的类型是int,所以初始化值为0 ,如果是指针类型 则初始化值为nil;并不是我一开始设想的.

2020-10-02 18:40:23 1571 1

原创 go语言关于range的面试题

range是go语言中常用的循环关键字 约等于java中的foreachpackage mainimport "fmt"func main() { slice := []int{0, 1, 2, 3} m := make(map[int]*int) //这里使用range遍历 for key, val := range slice { m[key] = &v } for k, v := range m { fmt.Println(k, "->", v) .

2020-09-28 22:23:29 168

原创 golang关于defer执行顺序的面试题

func main() { defer_call()}func defer_call() { defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func() { fmt.Println("打印后") }() panic("触发异常")}//执行结果打印后打印中打印前panic: 触发异常goroutine 1 [running]:main.defer_call

2020-09-28 00:29:37 919

原创 go中常用的同步原语<二>Mutex

go中常用的同步原语 <二> Mutex有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。类比现实生活中的例子有十字路口被各个方向的的汽车竞争;还有火车上的卫生间被车厢里的人竞争。//在没有锁的情况下package mainimport ( "fmt" "time")var n = 0func count() { fmt.Println(n) n = n + 1}func main() { go count()

2020-09-16 01:44:34 151

原创 go中常用的同步原语 <一> init

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-09-16 00:58:00 156

原创 VO DTO DO PO

VO DTO DO POVO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。P

2020-05-19 11:52:39 98

原创 uniapp加载页面时获取实时天气

onLoad() { uni.request({ url: 'http://wthrcdn.etouch.cn/weather_mini?city=重庆', method: 'GET', success: res => { console.log(res.data.data.wendu); this.cylinderEmpty.temperature =...

2019-11-28 14:48:20 3225

原创 手把手教你springBoot集成 jsp

手把手教你springBoot集成 jsp老骥伏枥 志在千里二话不说 挂挡起步首先在上篇博客的基础pom上加一个依赖 <!--必须有才能编译jsp --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embe...

2019-09-21 22:30:51 124

原创 关于yml

关于yml最近听说很多小伙伴想了解一下yml 故写了这篇博客yml就是以.yml结尾的文件通常用作配置文件在springboot中如果跟properties文件冲突properties为准很简单一共以下六点规范1、大小写敏感2、使用缩进表示层级关系 :后面必须有一个空格4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。5、使用#表示注释6、字符串可以不用引号标注...

2019-09-21 21:53:08 262 2

原创 手把手教你创建springBoot项目

**# 手把手教你创建springBoot项目 千里之行 始于足下简介springboot是用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序 main方法运行嵌入的Tomcat 无需部署war文件简化了maven配置总而言之就是两个字简单五档起步创建项目名字随便起一路回车慢慢加速导...

2019-09-21 21:32:48 269

原创 面试问到的关于spring cloud理解和spring cloud与dubbo的区别详解

面试问到的关于spring cloud理解和spring cloud与dubbo的区别详解今天下午面试被问到这个问题,当时没答上来,毕竟之前工作也都只是简单的使用,并没有真正去了解过两个之间的区别晚上自己查了一些文档,有点感悟在这里写一下首先两个都是国内比较火的微服务架构先介绍一下微服务微服务架构是一种架构模式,它将单一应用程序划分成一组小的服务,服务之间互相配合,达到最终的目的优点是...

2019-09-17 21:02:23 1989 2

原创 半夜三更来复习一下关于注解 部分的知识

四大源注解所有关于注解的文章都绕不开这四个注解,我们也不例外@Target@Retention@Documented@Inherited接下来就一个个的介绍首先是 @Target这个注解用来标志当前定义的注解是打在哪个位置的,比如类上,方法上,字段上,可以写多个通过源码我们可以看到内部是一个数组,所有可以写多个@Documented@Retention(RetentionPo...

2019-09-13 03:39:52 156 1

原创 mybatis generator孩子代码生成器老报错?看这篇就够了

代码生成器 mybatis generatormybatis generatorgeneratorConfig.xml(名字必须叫这个)pom导入包 <!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core --> <!--代码生成器-->...

2019-08-05 11:24:18 577 1

原创 mybatis 的十分详细的入门教程第三弹

mybatis 的十分详细的入门教程第三弹一点心得有道云笔记详细版http://note.youdao.com/noteshare?id=f8227cf5f186b82434d182e757af7aa7domain使用包装类型maven junit的这个标签代表只能在maven测试资源内使用[外链图片转存失败(img-gmYD3foC-1564972055361)(C:\Users\p...

2019-08-05 11:20:13 116

原创 mybatis 的十分详细的入门教程第二弹

mybatis 的十分详细的入门教程第二弹步骤(复习)导包​ 核心包mybatis-3.2.1.jar​ 依赖包asm-3.3.1.jarcglib-2.2.2.jarcommons-logging-1.1.1.jarjavassist-3.17.1-GA.jarlog4j-1.2.17.jarslf4j-api-1.7.2.jarslf4j-log4j12-1.7.2.j...

2019-08-03 17:07:45 92

原创 细节决定成败 mybatis中sql#与$的区别详解

#与$的区别#{}(接收普通参数,预编译,性能好,安全性高)$正好相反${}只能获取的是传过来的对象的一个属性(拼接字符串)select * from product where id= 1-> 危险:有SQL注入的问题这种方式能$能不用就不要使用1.#{}#:即可以获取传过来的一个值,也可以获取传过来的对象的属性(占位)select * from product...

2019-08-01 22:10:26 100

原创 mybatis的简单日志配置以及将日志输出到本地文件的方法

日志管理有时候我们使用mybatis会需要查看日志文件首先需要引入jar包 log4j然后进行配置即可在资源根目录创建:log4j.properties#log4j.properties(日志文件:)# ERROR错误的日志 WARN:警告 INFO:普通信息 DEBUG:调试日志 TRACE:日志log4j.rootLogger=ERROR, stdout#log4j.ro...

2019-08-01 21:58:55 2633

原创 关于mybatis数据库表与类中属性不一致的问题终极解决办法

关于mybatis数据库表与类中属性不一致的问题终极解决办法今天使用mybatis因为数据库表与类中属性不一致浪费了很多时间,在网上搜了很久也没找到解决办法,后来问了一位前辈找到了解决办法列名与属性名不一致解决办法如下添加与修改在相应位置修改名称即可查询需要创建一个resultMap使用的时候返回结果必需是resultMap<!-- 准备一个映射(ORM)配置 ...

2019-08-01 21:52:22 807

原创 mybatis 的十分详细的入门教程

一. mybatis 的十分详细的入门教程mybatis起源?MyBatis 本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatisiBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQ...

2019-08-01 21:40:03 252

原创 模板技术与EasyCode代码生成器

模板技术与EasyCode代码生成器模板技术模板技术从本质上来讲,它是一个占位符动态替换技术。一个完整的模板技术需要以下四个元素:模板语言,包含模板语言的模板文件动态数据的数据对象模板引擎市场上的模板技术引擎有很多这里主要介绍Velocity,而easycode也是基于Velocity的语法注释:(1)单行注释: ## xxxx(2)多行注释: #* xxxxxx...

2019-07-16 23:49:41 3386

原创 关于easyui与后台的联动CRUD

关于easyui与后台的联动CRUD江海三年客,乾坤百战场。谁能辞酩酊,淹卧剧清漳书接上回,上一篇博客简单的介绍Spring jpa与前端联动以及分页与高级查询,今天来谈谈easyuI联动后台进行简单实现CRUD首先先实现最简单的删除单个remove前端数据列表及工具栏<div id="tb" style="padding:5px;height:auto"> <...

2019-07-12 23:00:09 174

原创 深入浅出的加强对 springdata jpa的理解《分页以及高级查询的简单实现》

深入浅出的加强对 springdata jpa的理解《分页以及高级查询的简单实现》书接上回,上一篇博客简单的介绍Spring jpa的结构并实现了jpa对数据库的简单增删改查以及 jpa-spec插件 如果有不了解的可以去我上一篇博客看一下传送门 要学习Java 必须要研究的spring jpa正文开始集成spring mvc与springdatajpa各种配置省略书写servi...

2019-07-11 00:48:10 199

原创 要学习Java 必须要研究的spring jpa

Spring jpa工欲善其事,必先利其器。像java这种多维度、高复杂度的东西,必须要有框架来支撑。spring jpa 介绍它是JPA规范的再次封装抽象,底层还是使用了Hibernate的JPA技术实现,引用JPQL的查询语句 ,是属于Spring的生成体系中的一部分。SpringDataJpa使用起来比较方便,加快了开发的效果,使开发人员不需要关心和配置更多的东西。SpringDa...

2019-07-09 00:23:36 442 2

原创 JAVA中==与equals的区别

== 和 equals区别== 和 equals 都是比较是否相等,请问它们到底有什么区别呢?相等 :传统的理解一般都是数字值是否相等;在程序中任何东西都是数据,都会比较是否相等[ 对象 ]== 比较运算符基本数据类型变量: 比较的就是值是否相等;引用数据类型变量: 比较的是对象的地址是否一样;(排除特殊 String)equals 方法[最初定义在根类Object中的...

2019-04-15 01:39:00 68

原创 JAVA面向对象

JAVA面向对象的思维 面向对象三大基本特征:封装、继承、多态。而面向对象的过程就是围绕对象进行工作的过程。 类是一种数据类型 对象则是这种类型的一个具体实例对象分为两个部分,动态部分【行为】与静态部分[描述]。①静态部分:顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。②动态部分:具有这些属性的人会...

2019-04-15 01:34:40 69

空空如也

空空如也

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

TA关注的人

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