自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代理模式浅谈

1.代理模式核心作用:通过代理,控制对对象的访问代理模式大致分为两类: 静态代理和动态代理[注]:动态代理又可分为4种:JDK自带的动态代理、javaassist字节码操作库实现、CGLIB和ASM(底层使用指令,可维护性差)1.1代理模式的三个要素 A、抽象的类或者接口 ---完成一件怎样的事情 B、被代理对象---事情具体操作内容 C、代理对象----帮助我们完成事情的同时可以增加其它功能类比现实生活中的例子: 我们找中介租房子 ...

2020-05-31 17:32:13 188

原创 jQuery结合Ajax

Ajax的开发有些繁琐,现在有很多成的Ajax框架封装诸多细节,使的Ajax编程更加容易。本文要介绍的就是Jquery框架结合Ajax使用,使得开发工作更加快捷、简单。...

2020-02-26 17:46:29 492

原创 SpringBoot配置文件详解

2023-10-21 20:28:52 96

原创 开机自启路径

开机自启路径

2023-01-08 20:40:51 229

原创 SpringBoot+SQL Server2000驱动版本踩坑

SpringBoot+SQL Server2000驱动版本踩坑

2022-11-11 20:32:35 1060

原创 SQL Server分页SQL

SQL Server分页

2022-09-19 22:24:33 403

转载 建立索引的原则

1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替: A、正确选择复合索引中的主列字段,一般是选择性较好的字段; B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极

2022-07-07 19:42:57 7804

原创 EasyExcel导入数据

前几天业务需求,需要导入公司数据和项目数据(excel格式),运用easyexcel导入实现如下:excel文件映射实体@Datapublic class ExcelItem { @ExcelProperty(value = "序号") private Integer index; /** * 公司名称 */ @ExcelProperty(value = "企业名称") private String companyName;

2022-01-26 14:02:47 5138 4

原创 sql多字段排序

sql即可按单个字段排序,也可多个字段排序,多字段排序,优先级高的放前面,优先级低的放后面.SELECT * FROM tablenameWHERE 条件ORDER BY 字段1,字段2

2022-01-06 21:10:18 7664

原创 sql获取近7天日期

SELECT date_sub( curdate( ), INTERVAL 7 DAY ) AS a UNION SELECT date_sub( curdate( ), INTERVAL 6 DAY ) AS a UNION SELECT date_sub( curdate( ), INTERVAL 5 DAY ) AS a UNION SELECT date_sub( curdate( ), INTERVAL 4 DAY ) AS a UNI...

2021-12-28 18:09:13 2081

原创 MySQL的sql大于号(小于号)的使用

MyBatisPlus框架sql书写时,有关大于或小于号的使用,如果不拼接sql(查询时条件拼接)直接>或<即可,如果拼接sql的话,需要使用 &gt; 和&lt;进行比较.示例代码如下:@Select("<script>" + "SELECT detail.latoId,IFNULL(detail.classify,'') AS classify,detail.latoId AS maintainId,plan.planNo,deta...

2021-12-28 17:20:15 7303

转载 SpringBoot项目上传文件报错小结

最近查看之前的项目,发现上传项目报错,经过查找问题,原来是Linux系统中Tomcat的文件上传机制引起,Tomcat在处理文件上传时,会将客户端上传的文件写入临时目录,这个临时目录默认在/tmp路径下,如:“/tmp/tomcat.6574404581312272268.18333/work/Tomcat/localhost/ROOT”。而操作系统对于/tmp目录会不定时进行清理,如果正好因为操作系统的清理导致对应的临时目录被删除,客户端再上传文件时就会报错:“The temporary upload

2021-08-31 21:22:33 695

原创 调用第三方接口报java.net.UnknownHostException

最近公司项目和其它公司对接时,通过HttpUtils工具类接口报了java.net.UnknownHostException 异常,经过一番查找,定位到问题是无法解析该域名,可以将域名对应的ip写入到hosts文件中保存。解决方法如下:Linux环境更改hosts的操作如下:1.cd /etc/2.输入指令 vi hosts,添加第三方ip和域名即可,形如第三方IP地址 第三方域名3.添加后保存,问题到此解决[注]:如何通过域名获取IP地址,dos命令行,输入:nslookup www.qq

2021-08-31 21:08:15 2135

原创 省市区三级结构实现思路

1.需求项目中用到省市区,需要后台返回省市区三级结构,2.实现个人实现的过程:首先是查出省级行政单位(包括直辖市,香港,台湾,澳门),再查市一级行政单位,最后再查县区级行政单位,整体查下来消耗时间太长(10多秒),所以这种方法不太可取;因此,我将查出来的三级结构保存到缓存中,下次再查直接去缓存中取(大概几百毫秒),这种方法对数据一致型要求不高的能够满足需求,不知有没有大佬有更好的方案.[注]:省市县在一张表里存放,也是呈三级结构....

2021-06-24 23:22:10 368

原创 easyexcel导出excel文件之图片导出

1.easyexcel导出图片简单操作参考官网2.项目中遇到的问题:项目导出报表需要导出图片easyexcel导出图片,数据库中的存储的图片是字符串类型(实际上还是图片的URL链接),需要先转为URL,再进行导出操作.图片字段需要自己重新定义Conventer类:import com.alibaba.excel.converters.Converter;import com.alibaba.excel.enums.CellDataTypeEnum;import com.alibaba.

2021-06-24 22:52:24 6304

转载 IDEA中使用Debug教程

Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。一、Debug开篇首先看下IDEA中Debug模式下的界面。如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方: 以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一

2020-12-24 22:40:43 1377 2

原创 Linux简介

1.Linux概念:是一个源于Unix的开源免费的操作系统。特点:免费、安全、强大2.VMware 安装 是一款虚拟机软件,通过该软件安装虚拟机。 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。3. Cent OS 6.10 安装 Cent OS是Linux发行版之一4.VMware 快照 快照:对虚拟机当前状态进行拍...

2020-07-05 19:26:12 221

原创 Spring之注解支持

Spring的常见注解及其作用:1. @Component 创建类对象,相当于配置<bean/> Bean的ID默认为类名首字母小写,也可以指定ID,例如@Component("stu")2. @Service 与@Component功能相同. 2.1 写在ServiceImpl类上.3. @Repository 与@Component功能相同. 3.1 写在数据访问层类上.4. @Controller 与@Component功能相同. ...

2020-07-05 19:09:24 363

原创 Spring中属性文件的使用

Spring中也是支持属性文件的读取操作读取属性文件<context:property-placeholder location="classpath:jdbc.properties"/>Scope作用域详解1.<bean>的一个属性,控制如何实例化对象2.在Spring中每个对象默认都是单例的(有效范围:同一个<bean>标签)3.Scope属性可取值 3.1 singleton: 默认值,单例的.使用ApplicationContext..

2020-07-05 19:04:31 178

原创 AOP具体实现方式

实现内容 对于当前的登陆功能增加对应的日志信息统计的操作AOP 切点:登陆方法 通知:后置通知 织入切面[注]:[1] AOP的底层默认的使用是JDK代理 我们也可以手动的开始CGLIB代理方式 <!-- cglib代理方式 --> <aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>[2]Spring自动的开启...

2020-07-05 19:00:08 396

原创 Spring之声明式事务TX

TX:声明式事务[1]为什么使用事务? 学习Mybatis的时候,Mybatis中的事务和JDBC事务是一致的,那么Spring中式如何进行事务管理的呢?[2]事务管理的方式 编程式事务:整个事务管理都是需要程序员自己手动编写,自己提交或者回滚 声明式事务:就是整个事务的管理操作,不需要我们自己书写,现在Spring已经帮你处理好了,我们自己只要代码中声明配置即可。[3]事务使用的场景 当我们执行的是两条或者两条以上的添加、修改、删除的时候才使用事务[4]...

2020-07-05 18:47:09 279

原创 Spring之AOP简介

[1]为什么学习SpringAop? Aop:提升代码的扩展性[2]AOP的概念 AOP:Aspect Oriented Programming 中文含义:面向切面编程 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP的优势:利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。[3]AOP中需要知道的要素 切点:在执行的每一个方法都可以看作是一个切点...

2020-05-31 17:46:44 228

原创 Spring中IOC的使用

IOC的使用[1]责任链 使用MVC设计思想进行开发的时候,数据在各层之间进行传递,数据在业务上构成一个链条,这个链条称之为责任链。[2]基于责任链开发的缺点 基于责任链开发模式,我们发现代码层和层之间相互调用,造成了层和层的耦合性太高了。 而写代码的时候讲究的原则--低耦合、高内聚 [3] 解决的方案 Spring IOC : ...

2020-04-07 17:27:51 178

原创 Spring中的IOC理解

相关概念Spring 通过一个配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Bean 并建立 Bean 之间的依赖关系。 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供 了 Bean 实例缓存、生命周期管理、 Bean 实例代理、事件发布、资源装载等高级服务。IOC理解(1)IOC就是控制反转,是指创建对象...

2020-04-07 17:20:02 710

原创 Spring简介

[1]为什么学习Spring?答: 目前遇到的问题 A、我们现在使用的mvc模式,发现层和层之间的耦合性太高了 B、目前书写代码的后期的扩展性不高[2]解决方案 Spring技术:Spring 是解决业务层和其他各层之间的耦合问题[3]Spring 的简介 Spring :Spring Framework 创始人:Rod J...

2020-04-02 18:25:18 143

原创 文件上传和文件下载的简单应用

文件上传:是把本地的文件上传到服务器中,在数据库中保存对应图片的名称即可。文件下载:是把服务器中的文件下载到本地。文件上传实现jsp页面实现<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>用户添加...

2020-04-02 18:16:03 305

原创 分页实现

[1]为什么使用分页? A、查询数据量的增多,一页的内容放不下的,所以使用分页 B、分页查询的是部分数据,这样查询的速度就比较快[2]分页必须知道的参数 A、分页的SQL语句 select * from student limit startIndex,size B、获得当前的页数 index ; 每一页显...

2020-03-31 13:17:20 173

原创 过滤器

过滤器的使用[1]为什么使用过滤器? 目前遇到的问题: A、目前解决post方式中文乱码是基于书写了baseservlet,所以我们不用在每一个servlet中去书写, 但是我们以后开发的过程中不会再去书写baseservlet ,这个时候就需要我们在每一个控制单 元方法中去书写解决中文乱码的操作。...

2020-03-31 12:32:22 190

原创 MyBatis框架运行原理

运行原理文字描述如下:在MyBatis运行开始时需要先通过Resources加载全局配置文件.下面需要实例化SqlSessionFactoryBuilder构建器。帮助SqlSessionFactory接口实现类DefaultSqlSessionFactory。在实例化DefaultSqlSessionFactory之前需要先创建XmlConfigBuilder解析全局配置文件流,并把解析...

2020-03-30 18:38:49 428

原创 MyBatis注解

MyBatis注解使用示例如下: @Select("select * from student") public List<Student> selectAll(); @Select("select * from student where id =#{0}") public Student selectOne(in...

2020-03-30 18:06:30 182

原创 MyBatis缓存

缓存的简单理解:好处:提高查询的速度sqlsession级缓存 (一级缓存) 默认开启的 一级的缓存在myBtais中默认的开启 缺点:数据的脏读(用户读取的数据和数据库的数据不一致) 只可以实现一个用户的请求中实现缓存数据的共享[注]:使用SqlSession对象操作数据库资源时,SqlSession对象会...

2020-03-30 17:52:53 142

原创 MyBatis中的多表查询(3)

多表查询的SQL语句 目前使用的查询方式遇到的问题:{A、每一次书写比较的麻烦 B、执行的效率比较低} 可以使用多表查询的sql语句解决 执行的SQL语句SELECT * FROM stu s JOIN clazz c ON s.clazzzno =c.clazzzno 多表查询的SQL语句虽然可以查询出内容,但是没有一个合适的实体去接受我们查...

2020-03-29 20:20:28 138

原创 MyBatis中的多表查询(2)

N+1查询方式 在Mybatis中我们目前的查询是使用业务代码的方式查询,这种查询在每一次都需要写业务代码,现在Mybatis希望通过标签配置的方式来帮助我们完成这个操作操作。 使用N+1方式进行的查询 一对一 A、通过学生查询所在的班级 先查询所有的学生 在查询学生所在的班级 一对多 ...

2020-03-29 20:16:00 99

原创 MyBatis中的多表查询(1)

[1]为什么使用mybatis中的多表查询? 答: 目前的学习的知识都是单表的操作,但是在实际的业务情况中,我们的操作大多都是多表的操作,那么Mybatis中的多表的操作应如何进行呢?[2]解决的方案 MyBatis中的多表查询 数据库表和表之间的关系 一对一 一对多(主外键) 多对多(第三张表...

2020-03-29 20:11:50 175

原创 MyBatis中的自动映射

自动映射的概念引入: 如果做的是查询的操作,现在从数据库中取值的操作是MyBatis帮助我们完成的,如果想要完成赋值的整个操作,现在必须保证实体类的属性名称和数据库的字段名称需要一致,这个时候Mybatis会自动帮助我们完成映射操作,这个过程称之为自动映射。遇到的问题 如果现在数据库的字段名和实体的属性名不一致的话,就无法完成赋值的操作。解决方案 [1]可以...

2020-03-29 20:07:07 423

原创 SQL语句的动态拼接(2)

mapper.xml<!-- set作用: 会自动增加set关键字,并且会去除最后一个逗号 只可以使用修改 --> <update id="update"> update flower <set> <if test="name!...

2020-03-29 19:57:39 186

原创 SQL语句的动态拼接(1)

[1]为什么使用动态拼接? 在自我学习中只是针对数据做简单的增删改查操作,但是在实际的业务中,经常会根据不同的情况执行不同的SQL语句才可以。这个问题如何解决呢?[2]解决方案 SQL语句的动态拼接[3]动态拼接标签 常见的动态拼接标签:if where choose set trim foreach bind sql includema...

2020-03-29 19:49:54 1097

原创 MyBatis之多参数传递

查询花卉信息Mapper接口代码 //查询指定的花卉信息 public Flower selectOne(int id ,String name); public Flower selectOne2(@Param("a") int id , @Param("b") String name); public Flower selec...

2020-03-29 19:40:06 208

原创 MyBatis之增删改查

MyBatis增删改查的简单实现核心代码如下:Mapper文件<mapper namespace="com.lzj.mapper.FlowerMapper3"> <!--public int insert(Flower fl); --> <insert id="insert" > insert ...

2020-03-24 19:36:04 158

原创 MyBatis之三种参数传递

<!--包名+接口名--><mapper namespace="com.bjsxt.mapper.FlowerMapper2"> <!--public Flower selectOne(int id);--> <select id="selectOne" resultType="flower" parameterTy...

2020-03-24 19:27:04 309

空空如也

空空如也

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

TA关注的人

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