JavaWeb开发基础
文章平均质量分 69
学习java语言基础尤为重要,细节也绝不能忽视,这里我们主要对Java基础及细节要点进行说明记录
Leon04095
平凡与辉煌最大的区别是执行力
展开
-
各种字符转换工具类
package com.isoftstone.common.utils;import java.io.UnsupportedEncodingException;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.math.BigDecimal;imp...原创 2019-03-07 17:05:46 · 718 阅读 · 0 评论 -
使用Jenkins实现自动化部署
Jenkins简介Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。简单点来讲就是配置好Jenkins以后可以一键发布项目,包括从git master分支拉取最新的代码,然后打包,然后上传到远程Linux服务器发布等一系列步骤它都可以帮你一键完成。这无疑可以省去很多程序员重复性繁琐的操作。特别是对于现在的spring cloud微服务来说,一个项目由多个小...转载 2019-03-07 16:59:04 · 837 阅读 · 0 评论 -
json转换工具类
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.util.ArrayList;import java.util.HashMap;imp...原创 2019-03-07 16:56:18 · 661 阅读 · 0 评论 -
HttpClient工具类(包含请求头设置及请求示例)
import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.EOFException;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.O...原创 2019-03-07 11:25:43 · 15993 阅读 · 0 评论 -
WebUtils工具类获取Session
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.web.context.request.RequestContextHolde...原创 2019-03-06 18:19:30 · 1491 阅读 · 0 评论 -
AES加密和解密工具类
import java.util.Base64;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import org.slf4j.Logger;import org.slf4j.LoggerFactory;impo...原创 2019-02-13 17:58:23 · 1056 阅读 · 0 评论 -
mybatis if test 字符串和字符判断及mysql时间段查询
‘’标识字符 <if test="chr=='1'"></if>”标识字符串 <if test='str=="1"'></if>mysql日期比较语句select * from student where '2012-02-27 00:00:00' < created_date and '2012-02-29 00:00原创 2019-01-23 18:15:18 · 6771 阅读 · 0 评论 -
Mysql字符串字段判断是否包含某个字符串的方法
方法一:likeSELECT * FROM 表名 WHERE 字段名 like "%字符%";方法二:find_in_set()利用mysql 字符串函数 find_in_set();SELECT * FROM users WHERE find_in_set('字符', 字段名);这样是可以的,怎么理解呢?mysql有很多字符串函数 find_in_set(str1,s...原创 2019-01-23 18:07:55 · 54948 阅读 · 0 评论 -
sql查询结果列拼接成逗号分隔的字符串
背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串。解决方法: 通过 group_concat 函数拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决。在每次查询前执行 SET SESSION group_concat_max_len = 10240;或者SET GLOBAL group_concat_max_len = 10240; 使得查询结果值变大。...原创 2019-01-23 18:02:30 · 68749 阅读 · 1 评论 -
MySQL中sql转义符
Mybatis中的sql语句中的 “<” 和 “>” 号要用转义字符 “&lt;” 和 ”&gt;“ ,否则会报错!使用mybatis 时sql语句是写在xml文件中,如果sql中有一些特殊的字符的话,比如< ,<=,>,>=等符号,会引起xml格式的错误, 需要替换掉,或者不被转义。 有两种方法可以解决:转义字符和标记...原创 2019-01-23 17:53:18 · 13705 阅读 · 0 评论 -
视图、索引、存储过程简述与优缺点
1.视图(1).什么是视图?视图(View)作为一种数据库对象,为用户提供了一个可以检索数据表中的数据方式。用户通过视图来浏览数据表中感兴趣的部分或全部数据,而数据的物理存储位置仍然在表中。视图是一个虚拟表,并不代表任何物理数据,只是用来查看数据的窗口而已。视图并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据,这些数据仍存储在导出视图的基本表中。当基本表...转载 2018-11-12 15:21:54 · 1499 阅读 · 0 评论 -
Mysql避免全表扫描的sql查询优化
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: 尝试下面的技巧以避免优化器错选了表扫描: 使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。对扫描的表使用FORCE INDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。SELECT * FROM t1, t2 FORCE INDEX (...原创 2018-10-23 15:59:59 · 3142 阅读 · 0 评论 -
MYSQL中取整函数ROUND,FLOOR和CEILING的用法
一、ROUND()函数用法 ROUND(X) -- 表示将值 X 四舍五入为整数,无小数位 ROUND(X,D) -- 表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数。若要保留 X 值小数点左边的 D 位,可将 D 设为负值。 该函数与FLOOR函数有所不同,在应用中需注意,另外,DECIMAL函数也有类似该函数四舍五入的功能。1、ROUND示例:...原创 2018-10-09 17:37:47 · 10996 阅读 · 0 评论 -
MongoDB服务端与客户端下载、安装和配置教程
MongoDB版本3.6.3 MongoDB社区版 1.0 robomongo https://robomongo.org/下载官网下载请点击这里,百度云下载请点击这里,提取码:6av6安装MongoDB的安装非常简单,除了安装路径可以自己选择之外,其它的步骤一直点下一步就行 robomongo的安装同样非常简单,不多说了实践就知道了各文件功能解释- mong...原创 2018-08-14 11:10:12 · 6709 阅读 · 0 评论 -
数据库优化
跟大家一起分享。此文章原文地址:http://www.ihref.com/read-16422.html1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,Sql 代码 : select id from t where num is n...转载 2018-03-07 11:40:42 · 164 阅读 · 0 评论 -
mysql数据库常用要点记录
MyBatis在insert插入操作时返回主键ID的配置:MySQL用法:<insert id="insert" parameterType="com.test.User" keyProperty="userId" useGeneratedKeys="true" >上面配置中,“keyProperty”表示返回的id要保存到对象的那个属性中,“useGeneratedKeys”表示主...原创 2018-03-07 10:26:33 · 231 阅读 · 0 评论 -
MySQL实现菜单递归查询
使用MySQL应该会知道这个数据库是不支持直接递归查询的,Oracle connect by支持下面记录我在项目中遇到的这个没有递归查询的解决方法先贴出一张图,一个简单的用户-角色-菜单的查询sql,SQL中传有两个参数请注意,当然也可以只传入一个用户id即可,但是需要多关联一些表,这里已简单的方式做.由下图可以很清楚看出来查出来的菜单数据本身就是有层级关系的(排序id暂时未加入sql),那么我们...原创 2018-03-06 11:30:44 · 23672 阅读 · 1 评论 -
sql字段拼接成新字段
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:MySQL: CONCAT()Oracle: CONCAT(), ||SQL Server: +CONCAT() 的语法如下:CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串...原创 2018-03-02 18:07:04 · 16897 阅读 · 0 评论 -
MySQL部门或菜单父子节点递归实现树查询
目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,可以在一句SQL内实现树的递归查询下面给一个小示例,后续在贴上调用的代码(代码会贴在最后请注意)MySQL递归查询所有子节点,树形结构查询--表结构CREATE TABLE `address` (`id` int(11) NOT NULL AUTO_INCREMENT,`code_value` varchar(32) DE...原创 2017-12-27 16:44:31 · 33447 阅读 · 1 评论 -
maven创建父子工程、聚合工程及问题解决
springboot创建父子工程、聚合工程开发工具:IntellJ IDEA 2017springboot创建父子工程、聚合工程及搭建框架过程中遇到的问题解决项目名称wyait父工程【父】:wyait-parent(用于统一依赖版本管理) wyait通用工程【子】:wyait-common(统一保存通用工具类) wyait-web工程【子】:wyait-web(聚合工程)项...转载 2018-12-25 11:24:32 · 2990 阅读 · 0 评论 -
maven的常用命令与多模块项目构建
本节介绍几个maven常用的命令,以备遗忘时可以查看。mvn -version 查看maven的版本及配置信息mvn archetype:create -DgroupId= DartifactId= 构建java项目mvn archetype:create -DgroupId= DartifactId= -Da...原创 2018-11-15 16:16:26 · 2093 阅读 · 0 评论 -
IntelliJ IDEA 注册方式
IntelliJ IDEA 注册码:EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2U...原创 2018-04-10 18:13:06 · 2957 阅读 · 0 评论 -
MYSQL IF 和 IFNULL
MYSQL IF 和 IFNULL原创 2017-12-11 15:45:48 · 2057 阅读 · 0 评论 -
shiro验证的API
SecurityUtils.getSubject();shiro验证原创 2017-11-29 19:42:36 · 2141 阅读 · 0 评论 -
SpringMVC+MyBatis 返回时间格式转换解决方案
Mybatis中可以使用 DATE_FORMAT(datetime,'%Y-%m-%d %H:%i:%s')函数状态当然方法一:使用@JsonFormat注解,将它配置到Date类型的get方法上,jackson就会按照配置的格式转换日期类型@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") //@JsonFormat(pattern="yyyy-MM...原创 2017-11-01 20:07:02 · 22419 阅读 · 1 评论 -
Spring 4.2集成 Quartz Scheduler 2.2.2 任务调度简单实现示例
Spring 4.2集成 Quartz Scheduler 2.2.2 任务调度简单实现示例原创 2017-10-13 09:13:23 · 312 阅读 · 0 评论 -
Spring3注解(@Scheduled)创建计划任务
Spring3注解(@Scheduled)创建计划任务原创 2017-04-13 11:50:27 · 490 阅读 · 0 评论 -
List转数组与数组转list
1. List集合转换成数组采用集合的toArray()方法直接把List集合转换成数组, 这里需要注意,不能这样写: String[] array = (String[]) mlist.toArray(); 这样写的话,编译运行时会报类型无法转换java.lang.ClassCastException的错误,这样写看起来没有问题,因为java中的强制类型转换是针对单个对象才有效果的,而...原创 2019-01-25 09:31:56 · 656 阅读 · 0 评论 -
线程池的工作原理与源码解读及各常用线程池的执行流程图
上次给大家介绍了 Spring Boot 使用AOP切面实现后台日志管理模块其中使用到了线程池的内容下面给大家介绍下线程池的工作原理与源码解读及各常用线程池的执行流程图有时候花了大把时间去看一些东西却看不懂,是很 “ 蓝瘦 ” 的,花时间也是投资。本文适合:曾了解过线程池却一直模模糊糊的人 了解得差不多却对某些点依然疑惑的 随着cpu核数越来越多,不可避免的利用多线程技术以...原创 2018-12-24 11:10:05 · 15708 阅读 · 8 评论 -
程序员提高技术公众号!
今天给大家精心推荐一些行业里做的用心的技术公众号,覆盖不同的技术领域,相信一定能给大家的技术成长之路带来帮助。程序员小灰▲长按图片识别二维码关注作者小灰 ,通过一群可爱的小仓鼠用漫画的形式讲述编程技术和算法,有趣有内涵。 Java后端技术▲长按图片识别二维码关注 Java后端技术,专注Java相关技术:SSM、Spring全家桶、微服务、MySQL、MyCa...转载 2018-11-19 11:16:17 · 568 阅读 · 0 评论 -
使用EasyPoi进行导入导出Excel(含多sheet导入导出操作)
本文算是对上篇使用EasyPoi根据模板导出Excel或word文档 的补充吧主要是直接进行导入导出,下面给出一个补充的工具类吧/***Excle 文件导入导出Util(easypoi)* @ClassName:EasyPoiUtil* @author leon* @createDate 2018年11月29日 下午15:25:27* @version v1.0...原创 2018-12-05 11:31:04 · 19496 阅读 · 8 评论 -
使用EasyPoi根据模板导出Excel或word文档
接着上篇文章Java根据模板导出Excel并生成多个Sheet简单介绍下EasyPoi的使用,直接上代码吧首先当然是先引入jar包了,看下图其次,还是贴代码吧看实例,下面是根据模板导出的工具类,包含Excel和word/*** 导出Excel或Word文件* @ClassName:ExportExcelOrWord* @author leon* @create...原创 2018-12-05 11:09:15 · 17252 阅读 · 2 评论 -
邮件发送处理多个附件时乱码问题
这里主要记录了下项目中发送邮件时遇到的一个小问题 首先我们看下图,可以看到第一个附件正常第二个附件显示未命名,其实都是给了名称的 这里说明一下导致这个问题的原因,由于邮件服务内部做了一个处理,平常都忽略了这个配置,说的是文件名超过60个字符时会自动截断下面说下解决的方法 System.getProperties().setProperty("mail.mime.sp...原创 2018-12-04 16:23:32 · 891 阅读 · 0 评论 -
如何优雅的使用 ThreadLocal
前言在我们日常 Web 开发中难免遇到需要把一个参数层层的传递到最内层,然后中间层根本不需要使用这个参数,或者是仅仅在特定的工具类中使用,这样我们完全没有必要在每一个方法里面都传递这样一个 通用的参数。如果有一个办法能够在任何一个类里面想用的时候直接拿来使用就太好了。 Java的 Web项目大部分都是基于 Tomcat,每次访问都是一个新的线程,这样让我们联想到了 ThreadLocal,每一...原创 2018-11-19 15:58:36 · 890 阅读 · 0 评论 -
java定时任务实现的几种方式
摘要: 在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢?我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一 在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,...原创 2017-10-13 09:58:48 · 76628 阅读 · 4 评论 -
MyBatis在insert插入操作时返回主键ID的配置
很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键。但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数。。。接下来,我们看看MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的id绑定到对象中。MySQL用法:in原创 2017-10-23 09:44:47 · 715 阅读 · 0 评论 -
mybatis中的#{}和${}区别
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql原创 2017-10-23 09:52:32 · 226 阅读 · 0 评论 -
MyBatis基本查询、条件查询、查询排序
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">resultMap="linkType">SELECT * FROM OD_LINK_TYPEWHERE LINK_URI = #{linkUri}resultType原创 2017-11-01 20:20:39 · 2530 阅读 · 0 评论 -
IDEA + Maven + Git 快速开发 Web 应用
引言今天想跟大家分享一下我主要的 Java 开发工具,我一般是这样工作的:用 IDEA 写代码,用 Maven 管理 jar 包依赖与项目打包,用 Git 进行代码版本控制。使用 Git 下载源码首先,在你的磁盘里找个单独的文件夹来存放 Smart 的所有项目源码,例如:D:\Project\smart,以下称为“工作目录”。然后,分别通过 git clone 命令下载 Smart Framewo...转载 2017-04-13 13:52:25 · 414 阅读 · 0 评论 -
java 实现搜索附近人功能
方案一:现在很多手机软件都用附近搜索功能,但具体是怎么实现的呢》在网上查了很多资料,mysql空间数据库、矩形算法、geohash我都用过了,当数据上了百万之后mysql空间数据库方法是最强最精确的(查询前100条数据只需5秒左右)。接下来推出一个原创计算方法,查询速度是mysql空间数据库算法的2倍$lng是你的经度,$lat是你的纬度SELECT lng,lat, (POWER...原创 2017-04-17 16:01:44 · 15056 阅读 · 5 评论