- 博客(51)
- 收藏
- 关注
转载 mysql 去重用法(误区)
mysql去重distinct如果只查一个表中的一个字段时,可以达到根据该字段去重的效果如果查询一个表中的多个字段时,此时就是去掉该记录中的字段数据,所有都重复的记录,一般用于不重复记录的条数例如:用distinct来返回不重复的用户名:select distinct name from user;,结果为:这样只把不重复的用户名查询出来了,但是用户的id,并没有被查询出来:select distinct name,id from user;,这样的结果为:distinct name,id
2021-01-22 19:57:03
379
原创 mac book 查看mysql版本
1,打开终端输入 mysql -uroot -p如果出现-bash: mysql: command not found试试如下方法mac终端输入mysql -u root -p出现错误:-bash: mysql: command not found输入:alias mysql=/usr/local/mysql/bin/mysql再重复mysql -u root -p,输入mysql口令即可...
2020-12-19 17:51:26
2471
2
原创 工作中mysql分页,各页记录中存在重复的数据
现象描述:项目在做分页查询的时候,用到了排序 order by ctime,由于是测试环境,ctime时间值都是一样的。在通过mybatis分页查询的时候,发现最后一页数据和第一页数据重复。后来就拿出sql进行测试,发现偶尔是重复的。1.解决方案增加一个二级排序【比如:主键,时间戳】,总之实现绝对排序即可order ctime,id 即可。2.原理在MySQL 5.6的版本上,优化器在遇到order by limit语句的时候,做了一个优化,即 使用了priority queue。使用 pri
2020-12-16 17:02:42
433
原创 &&和||详解
1,|| 或 详解alert(true||false); // truealert(false||true); // truealert(true||true); // truealert(false||false); // false2,&& 与 详解alert(true&&false); // falsealert(true&&true); // truealert(false&&false); // falsealert
2020-10-22 10:25:47
266
转载 mysql高版本(8.0)sql_mode = only_full_group_by的解决办法
1、原理层面这个错误一般发生在mysql 5.7以及 5.7以上的版本中,其原因是mysql的默认配置中,sql_mode=“ONLY_FULL_GROUP_BY” 这个配置严格执行了 ‘SQL92标准’,所以很高网站维护人员在升级mysql版本时,都会修改 sql_mode 的配置,使其能兼容。2、sql层面从sql层面来说,输出的结果思做target list,就是 select 后面跟着的字段,还有一个地方是 group by column,就是 group 后面跟着的字段,由于开启了 ONLY
2020-07-08 17:40:32
33309
9
原创 win10环境下安装解压版mysql8.0步骤
1,解压2、解压后在安装目录下创建my.ini的文件,内容如下[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:\mysql-8.0\mysql-8.0.20-winx64# 设置mysql数据库的数据的存放目录datadir=D:\mysql-8.0\mysql-8.0.20-winx64\data# 允许最大连接数max_connections=200# 允许连接失败的次数。max_connect_errors=10# 服务端
2020-07-08 17:31:19
287
转载 deepin安装redis(5.0)
1,下载redis5.0的安装包[root@CentOS7 opt]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz2,解压安装包(可以手动解压,也可以通过命令解压)[root@CentOS7 opt]# tar -zxvf redis-5.0.5.tar.gz #解压会生成一个redis-5.0.5的目录3,安装G...
2020-05-07 19:48:35
310
原创 java StringUtils.strip 删除字符串两边的[]
StringUtils工具类strip:StringUtils.strip(String str, String stripChars) //去掉str两端的在stripChars中的字符数组:public static void main(String[] args) {List<String> list = new ArrayList<String>();li...
2020-04-27 17:39:47
11737
5
原创 安装deepin系统教程
https://jingyan.baidu.com/album/6dad5075bd20bce123e36e80.html?picindex=11
2020-04-19 09:25:31
973
转载 URl 传参时+号变成空格
1,URL传参中加号变空格的解决方案URL传参加号变空格的问题,在页面中把+号替换为’% 2B’可以得到解决str = str.replace(“+”,“% 2B”);说明:%和2之间是没有空格的,因为在网页上显示时,会被转义为+号,所以本人加了个空格,实际应用中是没有的。希望能解决您的问题。2,遇到的问题:当上传文件的文件名中间有空格,用URLEncoder.encode方法会把空格变...
2020-04-16 16:29:38
2990
原创 deepin 环境下RocketMQ环境配置
1,地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/2,选择‘Binary’进行下载解压到指定文件假里面(我放到我本地主目录下的myapp里面rocketmq里面了)3,配置环境变量(去/etc/profile下面)export rocketmq=/home/xxx/myapp/rocketmqexport ...
2020-03-10 13:55:56
273
原创 deepin配置node
我用的方式是去官网下载tar.gz安装包1,下载地址:http://nodejs.cn/download/current/2,下载合适的版本3. 解压到制定目录sudo tar -zxvf node-v10.15.3-linux-x64.tar.gz -C /usr/local/4,创建软链,在任意目录都可以使用sudo ln -s /usr/local/node-v10.15.3-...
2020-02-03 20:30:18
697
原创 deepin为自定义的.exe程序在启动界面创建快捷方式
1,由于自定义安装的win程序一般都自动安装在/home/gaomengyao/.wine/drive_c/Program Files/PremiumSoft/Navicat Premium应注意一下两点:(1)该路径里面有的文件名带有空格,启动程序无法读(2)启动的是win程序,需要在前面加上deepin-wine2,先说文件名里面有空格的事有以下几种方式代替空格(1)使用 “ ” ...
2020-01-30 21:50:15
682
原创 deepin自定义安装.exe文件
由于想在deepin上面安装破解的navicat程序,但是实在找不到破解版的但是自己有windows系统上面的破解版的安装程序1,先知道,deepin系统上面自带的qq,微信都是windos程序,deepin自带原生deepin-wine使用命令如下:deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe默认安装的快捷方式位置:/r...
2020-01-30 21:15:34
4605
转载 deepin中自定义安装的软件如何加入到启动器
一、为某个应用新建桌面图标:以idea为例:2,deepin的桌面图标一般在:/usr/share/applications目录下。进入此目录。3,新建文件:idea.desktop 。(我在/usr/share/applications下面建立idea.desktop这个文件,但是编辑不成功。所以我就在“下载”文件夹下面建立了这个文件夹并做如下编辑,然后将其移进了/usr/share/ap...
2020-01-29 12:04:57
919
原创 deepin安装maven
方式一:通过命令1,sudo apt-get install maven2,安装完验证下mvn --version方式二:手动安装1.在官网 http://maven.apache.org/download.cgi2.新建mvn目录mkdir /usr/local/mvn 把压缩包解压到mvn目录下面修改默认仓库本地地址,修改镜像文件3.修改环境变量sudo vi /etc/...
2019-12-26 23:02:03
377
原创 deepin配置java环境
方式一:通过命令安装1,首先,更新包索引。命令: sudo apt-get update2,接下来,安装Java。具体来说,此命令将安装Java运行时环境(JRE)。命令:sudo apt-get install default-jre3,还有另一个名为JDK(Java Development Kit)的默认Java安装。如果要编译Java程序或者使用Java的软件特别需要它,通常只需...
2019-12-26 22:31:51
1509
转载 deepin装mysql
1,ctrl + alt + t 打开终端命令: sudo apt-get install mysql-server mysql-client2,将mysql加入到服务中此时有几种方式:方式一:Linux chkconfig命令用于检查,设置系统的各种服务。(但是,这种方式已被弃用了)hkconfig --add mysql方式二:sysv-rc-confsysv-rc-con...
2019-12-17 23:02:55
277
原创 java----正则表达式以及String类的正则表达式的实现
1,正则表达式的特殊字符表达什么意思?x 字符 x\ 反斜线字符字符类[abc] a、b 或 c(简单类) 三选一[^abc] 任何字符,除了 a、b 或 c(否定) ^ 表示非的意思[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) 52预定义字符类. 任何字符\d 数字:[0-9]\D 非数字: [^0-9]\s 空白字符:[ \t\n...
2019-03-17 23:22:15
312
原创 java--Random
1,概述:产生伪随机数。2,构造方法:<1>Random():无参的构造,创建一个新的随机数生成器。默认使用当前的系统时间作为种子值<2>Random(long seed): 有参构造,人为的提供一个 产生随机数时的种子值。3,成员方法int nextInt() : 返回 整形的 随机数,没有范围限制int nextInt(int n) :返回整形的随机数...
2019-03-17 21:03:03
171
原创 java--Data,LocalDate,LocalDateTime介绍和互相转换
Java 中处理时间的类型Date有更新基本概念时刻:所有计算机系统内部都用一个整数表示时刻,这个整数是距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数,可以理解时刻就是绝对时间,它与时区无关,不同时区对同一时刻的解读,即年月日时分秒是不一样的;时区:同一时刻,世界上各个地区的时间可能是不一样的,具体时间与时区有关,一共有24个时区,英国格林尼治是0时区,北京是东八区,...
2019-03-17 20:54:55
7495
原创 java---StringBuffer的应用以及跟String作为形式参数的区别
1, StringBuffer :翻译成 字符串缓冲区1,特性<1>:是线程安全的<2>: 可变字符序列<3>:StringBuffer 与String一样都实现了 接口 CharSequence<4>:每个字符串缓冲区都有一定的容量,此容量会根据情况,自动的扩容。2,本质:StringBuffer 内部有一个char数组,默认初始值1...
2019-03-17 17:04:17
169
原创 java---Calendar与Date
1,CalendarCalendar 比Date更加的灵活,但是复杂度也高了(1):建议Date能完成工作,就不建议使用Calendar。Calendar 是一个抽象类,不能实例化Calendar.getInstance():返回的是子类的实例(2):成员方法<1>:Date getTime() :返回一个Date 类型的系统时间<2>:public int ...
2019-03-17 13:38:18
198
原创 java---泛型(generiac)介绍
1,jdk1.5以后出现的机制generic2,泛型的书写格式<类型>3,泛型出现的原因或者好处:(1)提高了程序的安全性(2)将运行期遇到的问题转移到了编译期(3)省去了类型转换的麻烦.注意:泛型是在编译的时候,做的事情.真正程序执行的时候,可以没有泛型信息.(也就是说, .class中没有泛型 )例如:import java.util.ArrayList;imp...
2019-03-17 12:53:49
91
原创 java----TreeSet实现自定义排序
1,构造方法:TreeSet(Comparator<? super E> comparator)构造一个新的空 TreeSet,它根据指定比较器进行排序。 自定义排序2,Comparator 接口:int compare(T o1, T o2) 比较用来排序的两个参数。boolean equals(Object obj) 指示某个其他对象是否“等于”此...
2019-03-15 10:24:39
1377
原创 java-----TreeSet实现自然排序
1,什么叫自然排序Comparable接口,此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序只有一个方法 int compareTo(T t)该方法的返回值,有三种可能负整数:小于指定对象零:等于制定对象正整数:大于制定对象2,注意,一般情况下,不要add()null值,null其实是可以存放的,但是要避免出现空指针异常,这个问题是很容易出现的。如果不实现Co...
2019-03-14 17:02:39
531
原创 java——遍历集合的方法
1,迭代器:IteratorIterator接口概述对 collection 进行迭代的迭代器依赖于集合而存在(1):Iterator接口成员方法boolean hasNext()Object next()(2):Iterator接口的原理讲解为什么不定义成一个类,而是一个接口(每一个集合类,都有自己的实现方法,不可能使用同一个迭代器实现,只能提供一个统一的接口,让每一个具体的实现...
2019-03-14 14:43:53
205
原创 java——集合概述
1,继承体系–&amp;gt;ArrayList类–&amp;gt;list接口 --&amp;gt;LinkedList类–&amp;gt;vectory类collection:–&amp;gt;HashSet类 --&amp;gt;LinkedHashSet类–&amp;gt;Set接口–&amp;gt;TreeSet类 --&am
2019-03-14 11:13:28
146
原创 java——char类型以及Character
1,基本数据类型char(1)在对char型变量赋值的时候,可以采用如下三种方法A:字符直接量。例如:‘A’ ,变量中实际存储的是该字符的Unicode编码(无符号整数值),一个char型变量只能存储一个字符。B:整形直接量,范围在0~65535之间的整数,变量实际存储的是该整数值,但表示的是该整数值所多应的Unicode字符。C:Unicode形式:形如 ‘\u0041’, Unico...
2019-03-06 17:07:18
2112
原创 java——jdk类库Integer
1介绍:Integer内部维护了了一个数组,数组长度为256【-128,127】之间的整数值,自动装箱的时候,直接从数组中取值,并返回。超出这个范围的值,自动装箱的时候,就需要new一个新的Integer这样做的目的是为了提高自动装箱的效率,空间换时间例子:public class IntegerDemo {public static void main(String[] args)...
2019-03-06 16:28:10
231
原创 java——BigDecimal
介绍float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。public class BigDecimalDemo {public static vo...
2019-03-06 12:03:44
214
原创 java——jdk类库之BigInteger用法和常用方法
BigInteger 大整型多用于大数相乘。提供各种各样的大数操作1,构造方法BigInteger(String val):由一个字符串表示形式的十进制数来产生一个BigInteger对象2,BigInteger的比较方法:java.math.BigInteger.compareTo()方法的声明public int compareTo(BigInteger val) 返回值类型时i...
2019-03-06 09:38:39
619
原创 java——equals(),hashCode()重写与不重写区别
1,总结(1)两个obj,如果equals()相等,hashCode()一定相等。(2)两个obj,如果hashCode()相等,equals()不一定相等。2,不重写equals(),hashCode()不重写的时候,比较两个对象是否“相等“,默认跟”==“效果相同,直接比较两个对象的内存地址值。【此时,克隆出来的对象与原有对象有着不同的哈希值(毕竟是克隆出来的,是两个对象)】3,重写...
2019-03-03 20:48:57
1706
原创 java——深克隆
1,深克隆:无论成员变量是否为引用类型,所有的成员变量都复制一份已达到完全的克隆。(但是系统默认不支持,如果需要,需要程序员自己动手去做)2,实现深克隆的步骤(1):实现Cloneable接口(2):重写clone()方法(3):先实现浅克隆例如:Employee emp = (Employee)super.clone();(4)再在浅克隆的基础上,进一步克隆需要的成员变量(引用类型)...
2019-03-02 19:43:55
665
原创 java——Object类的各个方法(特别是equals())
1,hashCode():返回对象的哈希值,常用作判断,两个对象是否相等2,getClass():返回当前对象所属类的名称的字符串表示形式3,toString():返回的是类名+哈希值(返回该对象的字符串表示)【当调用某一对象的toString()成员方法时,有一个执行顺序,对首先在奔类中找toString(),如果没有重写toString(),则继续会找父类的toString(),直到找到...
2019-03-02 12:33:04
208
原创 java——实现浅克隆(实际上是Object类的clone()方法)
1,实现浅克隆的步骤(1):实现接口Cloneable(声明式接口,只有名字,没有抽象方法)(2):重写object#clone()方法[首先需要明白:object类的clone()方法类型是protected,(也就是说clone()只能在Object这个类中使用)返回值类型是object,定义一个类的时候要实现克隆就必须实现Cloneable接口,重写clone方法,引用的时候,注意类型...
2019-03-02 09:48:50
720
原创 finally的特点以及面试题
1,finally的特点被finally控制的语句体一定会执行,特殊情况:在执行finally之前,jvm退出了,例如System.exit(0)2,finally的作用用于释放资源,在IO操作和数据库操作中会见到3,finally相关的面试题(1)final和finally的区别final是关键字final修饰的类不可以被继承,修饰的方法不可以被重写,修饰的变量只能被赋值一次。(...
2019-03-01 14:36:40
640
原创 java——异常注意事项
1,编译时/运行时异常的抛出例如:import java.io.IOException;public class ThrowsDemo {public static void main(String[] args) throws IOException {//调用抛出编译时异常的方法,这时,要么继续抛出编译时异常,//要么try…catch处理// method1();...
2019-03-01 14:02:38
137
原创 java——异常
1,异常体系根类是object 下的ThrowableThrowable实现的接口:SerializableThrowable的子类:Error,Exception2,异常处理方案:A:throwsB:try…catch…finally3,实例代码:public class ExceptionDemo {public static void main(String[] args)...
2019-02-27 15:45:55
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人