- 博客(38)
- 收藏
- 关注
原创 go语言学习之数据类型的互相转换
一.基础类型的互相转换Java中的数据类型之间存在一些隐式转换,例如声明一个变量 byte b = 125; int i = b; 这种由小向大的类型转换可以自动完成。Golang中的类型转换,必须显式完成。1.转换用法表达式 T(v)将值 v 转换为类型 TT∶就是数据类型,比如 int32,int64,float32等等v∶就是需要转换的变量package mainimport "fmt"func main() { var num int = 10 var num1
2020-08-14 00:16:52 440
原创 windows虚拟机扩容后,磁盘没变化
存储空间实际已经扩容,需要重新分配给指定的盘。Windows虚拟机搜索“计算机管理”,选择“磁盘管理”,选择需要扩容的磁盘,右键选择“拓展卷”即可。
2020-08-11 17:27:24 10414 7
原创 go语言学习之变量(变量声明和基本类型)
目录一.Golang变量使用的三种方式二.数据类型概览三.整数类型四.浮点型五.字符型六.布尔类型(bool)七.字符串类型(string)一.Golang变量使用的三种方式特别注意:Golang中声明的变量、引入的包,如果不使用,会编译报错。1.指定变量类型,声明后若不赋值,使用默认值(数字类型默认值是0,string类型默认值是空串"",布尔类型是false)package mainimport "fmt"func main() { var ...
2020-08-08 23:56:07 655
原创 一探Spring中BeanUtils的copyProperties方法
private static void copyProperties(Object source, Object target, @Nullable Class<?> editable, @Nullable String... ignoreProperties) throws BeansException { Assert.notNull(source, "Sourc...
2019-11-01 11:42:56 1189
原创 mybatis使用map批量更新(Oracle)
持久层接口的的方法:void batchUpdateLogistics(@Param("callMap") Map<String, String> callMap);映射文件以下三种写法均可以,注意";"的使用:<update id="batchUpdateLogistics" parameterType="map"> <foreach col...
2019-09-11 11:44:31 1149
原创 PLSQL恢复已提交数据
1、先确定好恢复到哪个时间节点的数据,然后执行下列语句查看是否是需要恢复的数据SELECT * FROM 表名 AS OF TIMESTAMP TO_TIMESTAMP('20190626 17:00:00','YYYYMMDD HH24:MI:SS')2、执行一下下列语句,否则在执行flashback时plsql可能报错(没有行移植功能)ALTER TABLE 表名 ENABLE ROW...
2019-06-28 09:52:35 2649 2
原创 Java手机号码工具类(判断运营商、获取归属地)以及简要的原理跟踪
最近做的项目有一部分关于手机号码的操作,于是搜罗了一些资料,整了一个工具类。主要有以下三个功能:判断号码是否有效、获取号码运营商、获取号码归属地。首先需要引入google开发的相关依赖或者下载对应的jar包<dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifa...
2019-04-30 15:44:29 11120 6
原创 Java发送邮件Excel附件名称变为.dat文件
Java编写发送邮件,并且添加Excel文件作为附件,邮件可以发送成功,但是附件名称似乎有些问题,总是变成ATT_*****.dat文件,在网上找了许多资料,参考了一些大神的方法,终于解决了该问题。这用到的邮件类是MultiPartEmail,进入该类的attach方法:public MultiPartEmail attach( final DataSource ds...
2019-04-02 15:04:12 8116 6
原创 Springboot项目中使用@Autowired自动装配的对象,使用时报null异常
项目中需要从application.yml文件中读取一个配置属性值,类在项目中的关系如下图:配置类如下:@Configurationpublic class ExcelConfig { private String basePath; public String getBasePath() { return basePath; } ...
2018-12-28 17:28:50 6959 1
原创 Oracle踩坑:java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
Oracle数据库新建表格SESSION_CALLINFO,表中status和intime字段均为number类型,没有添加数据。Mybatis在执行下面sql时报错java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字。select CALLUUID from SESSION_CALLINFO where STATUS=0 and INTIME ...
2018-12-28 14:03:41 13871
原创 Web项目在Windows环境访问正常,在Linux环境部分引入前端文件的url访问报404
最近接手了一个别人写的老项目,遇到一个奇怪的现象,该项目在idea中运行访问正常,在Windows本地的tomcat也访问正常,甚至服务器也是Windows系统。在Linux环境部署访问pages/outcallmanage/editObWorksheetList.ftl该文件时显示404异常,应该是没有找到对应的文件资源,检查访问路径都没有错误。最后发现项目中引入文件的语句是:ModelA...
2018-12-06 23:02:35 1974
原创 Mysql和Oracle数据库实现主键的自动增长的区别
MySQL建表时必须有一个主键(PRIMARY KEY), 并且每条主键内容必须唯一,作为该条数据在表中的唯一标识。同时常常给主键一个”auto_increment”属性,让主键所在字段每条记录都自增”1″。例如某张表中的”id”作为主键,则mybatis中添加数据的写法可以是:<insert id="saveSmartUser" parameterType="com.sun.rep...
2018-11-30 09:15:52 1655
原创 记一次SpringBoot使用@Value读取属性值的采坑经历
项目中有一个专门用来下载音频的类,这次问题涉及的主要部分如下,base-url属性在application.yml中已经定义。public class DownloadMp3 { @Value("${base-url}") private static String url; public static void a_download(String fileName,...
2018-11-14 22:57:29 23338 2
原创 Windows系统配置nginx实现https访问
1.安装nginx下载与当前Windows系统版本对应的nginx,本次选择的是nginx-1.8.1版本。附上nginx下载地址:http://nginx.org/en/download.html。2.安装OpenSLL下载地址:http://slproweb.com/products/Win32OpenSSL.html。(根据Windows系统版本下载32位或者64位,本次下载版本...
2018-10-31 23:44:55 18332 9
原创 oracle数据库时间戳转为日期
select TO_CHAR(timeStamp / (1000 * 60 * 60 * 24) +TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD') AS createTime from table这里的原理是用to_date函数将字符串'1970-01-01 08:00:00'转换为日期作为起始...
2018-09-25 10:13:41 11972
原创 count(*),count(1)和count(字段)的区别
之前在写sql语句时,常常使用count(*)来执行查询数据条数,也使用过count(字段)来针对某一特殊字段进行查询,今天接触到了count(1)也可以用来进行数据统计,下来查看资料,对它们有了一定的了解。很多人认为count(1)执行的效率会比count(*)高,原因是count(*)会存在全表扫描,而count(1)可以针对一个字段进行查询。其实不然,count(1)和count(*)都...
2018-09-16 23:27:29 1346
原创 Java中父类和子类加载顺序
最近在总结一些和JVM相关的知识,现在总结一下关于父类和子类加载顺序的问题。简而言之就是先静态后非静态,先父类后子类,具体顺序如下:父类静态变量 父类静态代码块(若有多个按代码先后顺序执行) 子类静态变量 子类静态代码块(若有多个按代码先后顺序执行) 父类非静态变量 父类非静态代码块(若有多个按代码先后顺序执行) 父类构造函数 子类非静态变量 子类非静态代码块(若有多个按代码先...
2018-08-13 21:42:30 7632 3
原创 JVM类加载的过程(加载、验证、准备、解析、初始化)
加载加载一般可以分为显示加载(通过Class.forName()方法加载类)和隐式加载(通过关键字new加载),这个过程主要完成三件事:1.通过路径/类全名获取该类的class文件的二进制字节流。2.将存于class文件中的静态数据结构转化成JVM方法区中运行时的数据结构。3.在内存中生成一个代表这个类的java.lang.Class对象,作为数据访问这个类的唯一入口。验证...
2018-08-13 18:30:22 2106 1
原创 redis中数据持久化问题
redis中内部提供了良好的持久化的策略,保证内存中的数据不丢失,这样redis服务器重启后,依然可以获取其中的数据。分别采用了2中形式进行数据持久化操作:RDB模式和AOF模式。大量数据的持久化必然涉及到内存的整理,在另一篇文章中有介绍https://blog.csdn.net/sunroyfcb/article/details/81212588。 RDB模式是...
2018-07-27 00:57:19 2586 1
原创 Redis中的内存维护策略
redis作为优秀的中间缓存件,时常会存储大量的数据,即使采取了集群部署来动态扩容,也应该即使的整理内存,维持系统性能。在redis中有两种解决方案,一是为数据设置超时时间,二是采用LRU算法动态将不用的数据删除。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。 ...
2018-07-26 00:36:25 1337
原创 模拟高并发环境下的Redis集群搭建
前文已经总结了Redis的安装与简单使用https://blog.csdn.net/sunroyfcb/article/details/80979399,本篇将模拟高并发环境下的Redis集群搭建。 首先要搞明白为什么要搭建Redis集群,毫无疑问是为了解决Redis动态扩容和高可用的实现。采用Redis分片是一个有效的实现Redis动态扩容的措施,分片可以根据哈希一...
2018-07-25 00:53:59 779
原创 浅析@ResponseBody注解作用和原理
@ResponseBody这个注解通常使用在控制层(controller)的方法上,其作用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。 假如是字符串则直接将字符串写到客户端,假如是一个对象,此时会将对象转化为json串然后写到客户...
2018-07-14 23:53:00 62360 7
原创 404 Not Found 的常见解决办法
1.检查浏览器端url与web.xml文件中前端控制器拦截的url是否匹配2.检查浏览器端url与controller层(@RequestMapping)是否一致3.将服务器中的web项目重新publish发布一下,注意要clean掉服务器中残余文件4.java文件可能没有编译完整,点击project中的clean命令,同时保证build automatically命令是勾选的状态,java文件会...
2018-07-13 00:04:30 63724 1
原创 Redis安装及简单入门
Redis是一个基于C语言开发的,内存中的数据结构存储系统,它可以作为数据库、缓存和消息中间件,它的运行速度非常快,可以达到每秒30万次。Redis经常被用来作为数据库的缓存区域,一方面减少高并发状态下数据库的访问压力,另外也能提高用户的访问速度,增加体验。本次在Windows系统下安装虚拟机,进行Linux环境下Redis的安装并进行简单的测试。 Redis安装:...
2018-07-10 00:44:41 297
原创 Spring中的事务管理
1. 事务概述事务(Transaction)是访问并可能更新数据库中数据的程序执行单元,通常事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。例如我们平时的转账操作,从开始执行转账,到收款用户确认收款,最终金额增加,这就是一个事务。为什么我们要加入事务管理?借助以上的转账实例来进行说明,假设A向B账户转账100元,那么最基本的两个...
2018-07-01 22:41:19 454
原创 使用Mybatis逆向工程生成XML和Java文件
Mybatis作为一个半自动化的ORM框架,需要开发人员手动编写Sql语句。当数据库中的表格太多的时候,为每一个表格的CRUD操作编写Sql语句就显得十分的繁琐。Mybatis逆向工程可以针对单表自动生成所需要的代码,比如mapper.xml映射文件,dao.java持久层接口,以及pojo实体类。 首先,创建一个新的java工程,名叫Mybatis-Generator,...
2018-06-26 00:31:59 2792
原创 使用itext将数据库的表格转为Pdf文件
上一篇博客讲到了如何将mysql数据库中的数据转出为Excel文件,这次尝试了以下将mysql中的表格转为Pdf文件。一,创建一个java工程,名叫ReadDatabasePDF,并且导入itextpdf和mysql的相关jar包:二、创建一个类名叫ReadPdfFromDB,意为从数据库读取数据转为pdf文件,同样的可以在类中为文件设置一些属性,例如背景颜色,列宽,文本居中:pac...
2018-06-25 00:24:42 2056 2
原创 使用POI将mysql中的表格转出为Excel文件
许多网页中提供了下载数据表格的功能,但是又不能直接将数据库的表格提供给用户下载,因此常常将数据库中的表格转换为Excel或者pdf文件,Apache POI为Java程序提供了可以对Microsoft office文档进行读和写操作的api....
2018-06-25 00:11:42 1963 8
原创 SSM全注解方式使用PageHelper实现分页查询
在使用SSM整合项目时,经常会遇到分页展示数据的情况,我们可以自己构建页面对象,其中需要包含几个关键属性,比如总记录数,当前页面数,页面的显示条数,以及从数据库查询到数据。另外,我们还可以使用PageHelper插件来辅助完成分页查询的功能,接下来总结一下全注解方式实现PageHelper分页查询功能。 pom.xml文件中的依赖注入:<dependency> <...
2018-06-22 00:50:50 4782 4
原创 eclipse配置类文件和XML文件代码自动提示功能
在日常的代码编写中,由于各种文件属性的繁多,我们难以全部记住,这个时候代码辅助提示功能就会起很大的作用,本文总结了eclipse中常用的两种类型的代码自动提示功能的配置,即类文件和XML文件。 类文件的代码自动提示配置,依次进入如下界面:windows->preferences->Java->Editor->Content Assist。将Auto...
2018-06-21 00:36:24 26513 2
原创 Java中MD5加密算法的简单剖析
总所周知,世界上每个人都有独一无二的指纹,而MD5算法可以为每一个文件都生成一个独一无二的数字指纹,Java中是怎样产生这个数字指纹的呢?下面的例子对密码123456进行MD5加密:package pwd;import java.security.MessageDigest;public class TestMD501 { public static void main(S...
2018-06-18 22:41:47 356
原创 java.sql.SQLException:${jdbcDriver}异常处理方法
问题描述:使用SSM和Servlet3.0+版本注解方式整合一个项目,当为Web项目加入Shiro框架对用户登录以及权限进行管理时,出现了数据库的连接异常java.sql.SQLException:${jdbcDriver}。 采用spring整合多方资源时,为后期维护修改便利,往往采用配置文件的方式给固定属性赋值,例如数据库的连接会使用properties文件注入的方式...
2018-06-18 21:59:01 17891
原创 基于SSM的全注解模式Web项目的环境搭建
以往我们用SSM构建Web项目,需要一些配置文件,例如web.xml,spring-*.xml等等,servlet3.0+版本提供了基于注解模式的Web项目构建方式,省去了配置文件。本文主要描述了基于注解方式的Web项目环境搭建。 既然去掉了配置文件,那么我们需要编写一些配置类,来代替配置文件,构建起基本的项目环境,下面是Web项目基本环境的搭建:import java.io...
2018-06-11 00:02:40 5032 1
原创 如何为Web页面设置一个模态框
在Web项目中,模态框因其灵活,简易而被广泛应用,例如添加修改数据、登录操作等等,常常不会选择添加一个新页面来进行操作,而是在当前页面弹出一个模态框来填写数据。下面是一个模态框的代码,使用时可以直接套用,只需要将它复制到html文件的body标签内部,尽量保证其他部分的id和某些关键属性的值不要冲突。<!-- Modal --><div class="modal f...
2018-06-10 16:17:39 7072 1
原创 Spring MVC中web.xml文件前端控制器的配置
Spring MVC中的前端控制器就是DispatcherServlet,它继承了HttpServlet这个抽象类。前端控制器是Spring MVC的集中访问点,主要职责是调度、流程控制。为了给整个Web项目配置一个前端控制器,需要在web.xml文件中进行如下配置:<?xml version="1.0" encoding="UTF-8"?><web-app xml...
2018-06-05 00:10:12 8600
原创 浅析Mybatis中的事物提交commit()方法
Mybatis通过对JDBC进行封装,极大地简化了程序员对数据库的操作,例如对数据库的增删改查操作。其中当进行增删改操作时,都会涉及到用户数据的提交,那么Mybatis中究竟是如何完成数据的提交的呢?这里将对Mybatis中的commit()方法进行简单的剖析,看看底层是如何实现事物提交的。 其实Mybatis中可以设置自动提交功能。在利用工厂模式获得SqlSession...
2018-05-31 00:39:55 29339 8
原创 JavaWeb应用设置全站乱码过滤器
Tomcat服务器接收请求时采用的是iso8859-1格式对请求中的参数进行编码,而该编码格式无法识别中文,因此在解码时会产生乱码问题。我们可以为整个web应用设置一个过滤器,让所有的访问请求首先经过过滤器,进行手动编解码,从而避免乱码问题的出现。下面是一段过滤器代码:package com.sun.day18;import java.io.IOException;import...
2018-05-30 01:12:26 489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人