后端
葱花香菜多放
羡青山有思, 白鹤忘机
展开
-
java int类型转float类型并保留小数点后两位
直接上代码// A code block int a=9; int b=7; DecimalFormat df=new DecimalFormat("0.00"); System.out.println(df.format((float)a/b)); System.out.println(df.format(a/(float)b)); System.out.println(df.format((float)a/(float)b)); System.out.原创 2021-07-22 15:09:18 · 2953 阅读 · 0 评论 -
Duplicate entry ‘211‘ for key ‘PRIMARY‘异常解决
// 先贴一下异常ResultMsg: "↵### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '211' for key 'PRIMARY'↵### The error may exist in com/jiesan/xxx/datasource/mysql/mapper/库名/表名.java (best guess)↵### The erro原创 2021-07-16 11:53:27 · 1241 阅读 · 0 评论 -
最通俗易懂的理解java:什么是面向对象,以及java的三大特性:封装、继承、多态
面向对象 面向对象是一种思想,它是相对于面向过程而言的,面向对象是将功能通过对象来实现, 将功能封装进对象之中,让对象去实现具体的细节,这种思想是将数据作为第一位的,把方法或算法放其次, 这是对数据的一种优化,操作起来更加方便,简化了过程。封装 封装是面向对象和核心思想,将对象的属性和行为封装起来,不需要让外界知道具体的实现细节, 这就是封装思想。例如给用户提供电脑使用,用户只需要知道怎样去操作电脑而不需要知道电脑内 部是如何实现操作的。继承 继承主要描述类与类之间的关系,通过继承,可原创 2021-07-12 11:24:58 · 3679 阅读 · 0 评论 -
java获取东八区时间
// 获取东八区时间 public static Date getGMT8Time(){ Date gmt8 = null; try { Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"), Locale.CHINESE); Calendar day = Calendar.getInstance(); day.set(原创 2021-07-10 11:30:51 · 5563 阅读 · 0 评论 -
java实现动态数组创建及数据填充
需求:根据列表动态创建数组,若不清楚数据数量数组初始化长度不好确定,小了会溢出,多了会浪费内存;解决方案:数组初始化时:长度赋值0// 长度赋值0String[] weiXinIdList = new String[0];而后每次填充值前进行数组复制,并长度扩容1,保证数组长度合适填充时也不会数组越界// 长度扩容1weiXinIdList= Arrays.copyOf(weiXinIdList, weiXinIdList.length+1);// 数组赋值weiXinIdList[we原创 2021-07-02 10:28:01 · 691 阅读 · 0 评论 -
华为机试-明明的随机数解答
题目网上很多,我在这里只简单说明下解题思路简单列一下题目核心:// An highlighted block输入:322111102040326740208930040015复制输出:1210152032406789300400复制说明:样例输入解释:样例有两组测试第一组是3个数字,分别是:2,2,1。第二组是11个数字,分别是:10,20,40,32,67,40,20,89,300,400,15。 这里需要注意的是,它可以输原创 2021-06-03 20:43:22 · 411 阅读 · 0 评论 -
integer can not cast string类型转换异常解决
今天遇见这异常给我整恶心了,查询返回的是个ArrayList<HashMap<String, String>>列表,在遍历map的时候一个字段在数据库中存的是int类型导致一直报这个错误,在此记录下解决方案:String.valueOf(str)// fillRequired字段在数据库中存的是int类型String.valueOf(map.get("fillRequired"))以下方法网友说是可行但我这边还是报同样错误// fillRequired字段在数据库中存的是原创 2021-05-25 17:30:17 · 2995 阅读 · 0 评论 -
java json数组遍历
// String转json数组(str是一个字符串)net.sf.json.JSONArray jSONArray = net.sf.json.JSONArray.fromObject(str);// 遍历json数组public void saveProcessReport(net.sf.json.JSONArray jsonArray) { if(jsonArray!=null&&!jsonArray.isEmpty()){ for (int i = 0; i <原创 2021-04-15 14:22:09 · 840 阅读 · 1 评论 -
java获取操作系统编码
// java获取操作系统编码:logger.info("SystemEncoding: " + System.getProperty("sun.jnu.encoding"));原创 2021-03-24 17:39:11 · 335 阅读 · 0 评论 -
tomcat编码导致的中文乱码解决
简单记录下这个问题,也是很奇怪,同样的接口,我们的安卓客户端没出现问题,IOS客户端上报的数据中文乱码了,再这里记录下:吐槽下:由于运维给的地址问题,导致问题解决时间被拖延了一半解决思路:打印日志,正式服务器及测试服务器均乱码(实际上运维给我的外网测试服务器地址有问题)后来更正地址后发现,测试服务器日志是正常的,正式服务器日志乱码,很诧异,又测了半天,实在是觉得代码没有问题,故找运维确定服务器及数据库配置及编码,然后得知正式的是tomcat7,测试服务器是8.5,简直坑爹,环境都不一样有个毛的测试作用原创 2021-03-24 17:16:19 · 94 阅读 · 0 评论 -
java任务延时执行,30S后执行
// 目前在做一个需求时,由于对方数据更新较慢,// 作后并不能获取最新数据结果集,因此写了一个延时,在此简单记录下TimeUnit.MILLISECONDS.sleep(30000);//单位是毫秒dosomeThing以上程序的意思是,程序在执行到TimeUnit.MILLISECONDS.sleep(30000);这句时会等待30S再执行dosomeThing的操作...原创 2021-03-16 15:14:19 · 3022 阅读 · 1 评论 -
GROUP_CONCAT函数
// 该函数意义:查询结果拼接select GROUP_CONCAT('时间:',a.year,'/',a.day) from tableA a, tbaleB b where a.Id = b.Id and a.describe = 'date' and b.name='appName'tableA结构及数据:iddaydescribeyear00103/15date2021tableB结构及数据:idnamevalue0原创 2021-03-15 16:02:35 · 113 阅读 · 0 评论 -
mysql对datetime类型数据分组
直接上sql// datetime存储的是时间戳类型select FROM_UNIXTIME(time, '%Y-%m-%d') as day, app_id, count( DISTINCT id ) AS count from login_time where DATE_FORMAT(time, '%Y-%m-%d') >'2020-03-01' GROUP BY day,app_id// datetime存储的是【2019-12-16 03:36:25】类型selec原创 2021-03-10 17:52:18 · 532 阅读 · 0 评论 -
将xml形式的响应(response)转化为map集合
/** * 将xml转换成Map * @param xml * @return */ public static Map<String, Object> xmlToMap(String xml) { Document doc = null; try { doc = DocumentHelper.parseText(xml); } catch (DocumentException e) { e.printStackTrace(); } Map&l原创 2021-03-09 19:28:12 · 2326 阅读 · 0 评论 -
java获取字符串中第一个数字的位置
// 所需包如下import java.util.regex.Matcher;import java.util.regex.Pattern;// 待匹配字符串String str = "test110";// 正则表达式Pattern pattern = Pattern.compile("[0-9]");Matcher matcher = pattern.matcher(nickName);// 判断字符串中是否包含数字if(matcher.find()){ // 获取数字起始位置原创 2021-02-09 15:14:33 · 4587 阅读 · 3 评论 -
HTTP之URLEncode加密的请求数据获取及转json
// 请求数据获取 public static String getPostString(HttpServletRequest request) { BufferedReader in = null; String parameters = ""; try { in = new BufferedReader(new InputStreamReader( request.getInputStream(), "utf-8")); String ln; StringBuf原创 2021-02-08 10:15:00 · 715 阅读 · 0 评论 -
java获取String字符串编码格式
简单做下记录// 直接上代码public static String getEncoding(String str) { String encode = "GB2312"; try { if (isEncoding(str, encode)) { // 判断是不是GB2312 return encode; } } catch (Exception exception) { } encode = "ISO-8859-1"; try { if (isEnco原创 2021-02-03 13:21:45 · 3051 阅读 · 1 评论 -
idea项目启动后无法访问报not found for the web module错误,异常信息为:com.intellij.execution.ExecutionException
启动时间显示为:看似启动成功,实际无法访问异常信息:看内容是一个项目路径这里大概思量了下,可能是由于我之前有改tomcat配置,导致项目发布时不是在tomcat服务器下而是在项目服务器下,故解决方案为:执行打包操作,打包完成后再执行启动再尝试启动:启动成功...原创 2021-02-01 20:00:55 · 6410 阅读 · 1 评论 -
eureka清除某个服务的非法ip
需要的工具为postman需要eureka的账号密码原创 2021-01-27 14:05:43 · 376 阅读 · 0 评论 -
判断ResultSet结果集是否为空
通常我们通过ResultSet.next()是否为true来判断,但判断后再读取结果集时,结果已经变更,此时为下一天记录,因此实际产出结果会丢失第一条记录解决方案:在判断完之后,指针回溯使用rs.previous();再进行读取,这样就不会丢失结果。 // 判断结果集是否为空 if(rs.next()) { // 记录回滚 rs.previous(); // 数据遍历 while (rs.next()) { } }...原创 2021-01-25 16:45:32 · 601 阅读 · 2 评论 -
查看DruidPooledConnection的链接属性,数据库实际链接地址
当我们多次链接数据库时,需要确认实际链接地址时,可通过以下信息确认,ctrl+shift+I打开connection实例,按以下路径打开:再打开dataSourceStat原创 2021-01-25 11:01:31 · 910 阅读 · 0 评论 -
java判断字符串是否可以转化为json
/** * 判断字符串是否可以转化为json对象 * @param content * @return */import net.minidev.json.JSONObject;import net.minidev.json.JSONValue;public static boolean isJsonObject(String content) { // 实际上,这是没有什么意义的。所以content应该是非空白字符串且不为空,判断是否是JSON数组也是相同的情况。 if(StringUt原创 2021-01-20 14:29:59 · 1687 阅读 · 2 评论 -
java调用腾讯企业邮箱给谷歌(gmail)邮箱发送邮件丢失或进入垃圾邮箱
简单记录下,未验证:为什么绑定了域名之后的企业邮箱发送到Gmail被事儿别为垃圾邮件?.什么是DMARC?如何设置企业邮箱的DMARC呢?(TXT记录).原创 2021-01-19 10:44:19 · 1564 阅读 · 0 评论 -
java之http请求模拟表单提交x-www-form-urlencoded
http请求模拟表单提交:postman示例:代码实现:// /**// * 方法名// * @param requestUrl 请求地址 // * @param param1 请求头参数1 // * @param param2 请求头参数2// * */ public static String postWithParamsForString(String url, String param1,String param2) throws ClientProtocol原创 2021-01-14 17:19:31 · 6792 阅读 · 0 评论 -
navicat非主键字段设置自增
目前在接到一个需求设计表时,表中所需字段较少,实际需要字段只需两个(A,B),且需要将该两个字段都设置为复合主键,再多余设置一个id字段,作为每条数据的编号,但在设计表时为了每条数据保持唯一性,即除id字段外,A,B属性必不能相同。故考虑将ab字段设置为复合主键,id字段自增,但会报错,若将id字段设置为主键,则无法达到该效果,故做以下设计:id字段自动递增且设为索引(若要一个字段递增,则该字段必须为索引或主键)A,B字段为主键具体设计如下图,可满足我自身需求1.字段设置2.id必须设置原创 2021-01-05 15:15:53 · 3629 阅读 · 0 评论 -
怎样确定数据库中是否有某张表
在查询数据时有时我们需要在多个库中确定该表是否存在于当前库中,笔者常用以下这种方式:describe 表名// describe 表名describe tablename如:describe sdk_xxx_xxxase若该表不存在,则提示该表不存在,或返回为空...原创 2020-12-21 09:44:34 · 1467 阅读 · 0 评论 -
http协议request请求:满足参数设置和请求头设置
/** * Post方式请求,返回Json数据 * @param requestUrl 请求地址 * @param requestParams 请求参数 * @param heads 请求头 * @return */ public static String sendRequestByPostWithHead(String requestUrl, Map<String, String> requestParams,HashMap<String,String>原创 2020-12-15 14:24:11 · 2154 阅读 · 1 评论 -
【springBoot】@Value注解读取配置文件给静态变量赋值
1.类名是添加【@Component】注解,例如:@Componentpublic class DataFormatTaUtil {...}2.静态变量赋值:【com.xianfeng.data.util.DataFormatTaUtil】为所在类路径 /** * ta文件地址保存地址 */ private static String logBusFileAddress; /** * 静态变量logBusFileAddress赋值原创 2020-12-09 17:31:34 · 364 阅读 · 0 评论 -
数据库和数据仓库
数据库:比较流行的数据库:oracle、mysql、sqlserver主要用途:提供数据读写,存储原始数据侧重点:读写优化数据仓库:比较流行的数据仓库:AWS Redshift, Greenplum, Hive等主要用途:提供大量数据的读取分析,对决策提供帮助(分析型数据库)侧重点:只读优化...原创 2020-12-08 10:47:35 · 110 阅读 · 0 评论 -
request请求无响应,异常信息为:SSLException
SSLException:证书验证失败原请求方法: /** * Post方式请求,返回Json数据 * @param requestUrl * @param requestParams * @return */ public static String sendRequestByPost(String requestUrl, Map<String, String> requestParams){ HttpsURLConnection.setD原创 2020-12-07 20:12:55 · 803 阅读 · 0 评论 -
java获取请求头中的信息
// 例如请求头中放置了appKeyString appkey = request.getHeader("appkey");原创 2020-11-19 15:24:07 · 1250 阅读 · 0 评论 -
SpringBoot启动报: expected single matching bean but found 2
异常截图:从异常信息中大致可以看到:我们本来想让他找GmsChannelService,结果启动时发现找到两个,一个为GmsChannelService,一个为GmsChannelServiceImpl:再来看下controller层:我们在这里使用了@Autowired注解,想通过自动装箱的方式获取该service再来看下serviceImpl层:解决方案:controller层:加@QualifierserviceImp层@Service -->@Service(GmsCh原创 2020-11-13 13:31:40 · 2476 阅读 · 3 评论 -
请求返回提示:500 Internal Server Error
今天在项目上线时遇到的问题:返回500,提示: Internal Server Error问题原因:数据库连接时区配置错误:配置的时区:jdbcUrl: jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxx?useUnicode=true&characterEncoding=utf-8&autoReconnect=xx&zeroDateTimeBehavior=xxx&serverTimezone=GMT%2B8实际数据库时区:为SCT解决原创 2020-11-06 17:01:59 · 4650 阅读 · 6 评论 -
IDEA项目启动报错:Consider defining a bean of type ‘com.xx.xx.xx.xx.xxx.daoName‘ in your conf
最近同事在合代码的时候出现了这个报错:错误提示:// 看字面意思很简单:提示找不到包,加了各种注解也无济于事,比如:@Repository、@ComponentScan等Field shuShuDao in com.xianfeng.data.service.impl.ShuShuServiceImpl required a bean of type 'com.xx.xx.xx.xx.xxx.daoName' that could not be found.The injection point原创 2020-11-03 13:56:28 · 9430 阅读 · 2 评论 -
更改String类型编码格式为utf-8
简单点,只有一个重要信息:string的原编码格式是需要知道的,如果不知道可以用各种格式去试一下,我是试了ISO-8859-1和gbk后,gbk转utf-8成功了,后边就用的gbk转utf-8直接贴代码:// gbk转utf-8,需要确定原编码格式,不知道的话就试一下String ReturnMsg = (String) jsonQueryRes.get("ReturnMsg");ReturnMsg = new String(ReturnMsg.getBytes("gbk"), "UTF-8");原创 2020-10-29 13:54:30 · 4722 阅读 · 0 评论 -
springBoot启动异常【Consider defining a bean of type】解决
启动时报异常Consider defining a bean of type ‘xxx’ in your configuration.异常原因:未加@Component,导致未检测到解决方法:往类上加上【@Component】注解如图:原创 2020-10-21 20:08:25 · 35308 阅读 · 2 评论 -
java包冲突解决!!!
最近在开发中,遇到包冲突问题,同事在编码时,并未拉取最新代码,导包不正确,直接合并至master分支,导致拉取最新代码运行时,直接报错,包冲突,无法找到该类此次冲突的包为:import org.hibernate.Criteria;import com.bstek.dorado.data.provider.Criteria;再想使用第二个包时直接爆红了,无法找到,解决方案:使用该包时直接具体导入:对于导入maven依赖的包冲突,则需要找兼容版本,替换maven依赖地址解决...原创 2020-10-15 10:02:41 · 518 阅读 · 0 评论 -
eclipse安装server!!!
新装的eclipse无server,记录下安装过程。步骤一:确认当前eclipse版本:点击help->About Eclipse IDE记录版本号为:2020-09(记录下或截图后边用),确认后点击【close】关闭步骤二:下载server插件点击help–>Install New SoftWare (安装新软件)进入install页面后点击AddName处填写之前的版本号!链接地址为:http://download.eclipse.org/releases/2020-原创 2020-09-23 20:49:49 · 1628 阅读 · 2 评论 -
navicat查看建表索引
navicat查看建表索引今天在做一个需求时,查询数据量比较大,考虑使用索引,提高查询性能,在网上找了下查看索引的方法,记录下:1.选中要查看的表,右击选中设计表(查看表结构,字段属性等情况)2.进入设计表页面,默认打开的是【字段编辑】栏目,选中第二栏【索引】,便可看到本表加索引的字段...原创 2020-09-23 10:38:06 · 8202 阅读 · 0 评论 -
PreparedStatement设置的参数在哪看!
现在的公司经常使用PreparedStatement,防止sql注入,但有时设置的参数就忘记咋看了,做下记录,下次直接翻阅博客// 代码块PreparedStatement statement = null;DruidPooledConnection connection = null;connection = this.getUCDruidConnection();String sql="select * from xxxx where xx=? and xx=? and xx=? and xx原创 2020-09-22 14:57:59 · 2104 阅读 · 0 评论