自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 java 组合与继承

在阅读Effective Java中的第16条时发现了一个有趣的机制或者说是模式,那就是组合(文中翻译为复用,但是作者认为组合更能体现这种模式的精神),并且文中建议使用组合。  那什么是组合,组合相较于继承的优点在哪里,缺点又有哪些,组合和继承更适合怎样的场景,更重要的是作者在校基础课程的学习中尽然都没有接触到组合这个概念,实在有理由探索一下!我们分别了解一下组合和继承的概念组合组合...

2019-10-23 14:35:01 172

原创 SQL各种join的区别

现有两张表,Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录name是相同的:1.INNER JOIN 产生的结果是AB的交集SELECT * FROM TableAINNER JOINTableB ON TableA.name = TableB.name 2.LEFT [OUTER] JOIN产生表A的完全集,而B表中匹配的...

2019-07-25 16:44:48 1267

转载 mysql left join

SELECT * FROM student a LEFT JOIN sc b ON a.Sid = b.Sid AND a.Sname="赵雷"结果:(left join 左连接,左表所有数据 拼接 右表符合on条件的数据。on后用and连接,‘a.Sid = b.Sid AND a.Sname="赵雷"’都作为on条件)SELECT * FROM student a LEFT JO...

2018-12-21 16:24:59 217

转载 springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper

版权声明: https://blog.csdn.net/m0_37034294/article/details/82917234注明:上篇文章介绍了springboot+mybatis-plus通用CRUD的用法,这篇文章我们来介绍一下mybatis-plus强大的条件构造器。mybatis-plus的版本为最新版3.0.3 。条件构造器咱们讲述queryWrapper和updateWrapp...

2018-12-10 20:19:28 3745

转载 spring注解详解

转自:https://blog.csdn.net/xyh820/article/details/7303330/概述注释配置相对于 XML 配置具有很多的优势:它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编...

2018-12-08 19:00:27 114

转载 RedisTemplate的使用

1.模板提供了操作视图(按照Redis命令参考分组),它们提供了丰富的、现成的接口用于对特定类型或者特定键的操作(通过KeyBound接口),如下所述:接口 描述 Key类型操作 ValueOperations 操作Redis String(或者Value)类型数据 ListOperations ...

2018-12-08 15:17:04 808

转载 jonsArray list jsonObject

今天在写代码时候,遇到了需要将json文本改成jsonobject对象,然后将jsonobject对象转换成jsonArray数组,最后再把数组转换成list集合的问题;  经过网上搜索 及查看编写,总于写出来了, 现把代码写出来,以供以后用的时候可以参考 第一步:先获取jsonobject对象JSONObject obj=JSONObject.parseObject(result);...

2018-11-25 20:10:52 230

转载 慢sql 分析

https://blog.csdn.net/why15732625998/article/details/803882361.explain结果分析:(1)id查询中执行select子句或者操作表顺序。若id相同,执行顺序由上至下;若是子查询,id序号会递增,id值越大优先级越高,越先被执行。(2)select_typeSIMPLE 简单的select查询,查询...

2018-11-18 15:12:13 153

原创 java 新老对象赋值 & 对象拷贝

注意target和source位置,通过点击查看源码确认1.相同类型对象赋值TeacherBase teacherBase = new TeacherBase();BeanUtils.copyProperties(teacherBaseOld,teacherBase);2.对象拷贝类型完全相同才赋值,否则不覆盖BeanCopier copier = BeanCopier.create...

2018-10-26 18:06:00 1019

转载 hibernate 单向关联&双向关联

多对一:就是A表中的一个字段是B表的主键。多个A表中的数据可以对应一个B表中的数据,同理,一个B表中的数据可以同时对应多个A表中的数据。 单向关联与双向关联对数据表的要求其实是一致的。满足对应的关联要求即可,也就是A表中的一个字段是B表中的主键。单向关联与双向关联的需求是不一样的。单向关联,只需要可以通过主表找到控表即可。这个很简单,通过简单的sql语句,select B from...

2018-10-23 16:35:25 522

原创 hibernate 一些总结

many-to-one:描述多对一的一种数据模型,它指定many一方是不能独立存在的,我个人认为many-to-one是NHB中保证数据有效性的最有用的一种映射,通过使用many-to-one能有效的防治孤儿记录被写入到数据表中。在本文描述的例子中,Student类和Classes类之间是多对一关系.  通过many-to-one元素,可以定义一种常见的与另一个持久化类的关联。这种关系模型是多对...

2018-10-22 20:03:01 91

原创 hibernate SqlQuery查询字段映射

如果使用原生sql语句进行query查询时,hibernate是不会自动把结果包装成实体的。所以要手动调用addEntity(Classclass)等一系列方法。如session.createSQLQuery(sql).addEntity(Classclass);注意hibernate3.0.5不支持,单个参数的addEntity方法另外,hibernate3.2可以对原生sql查询使用R...

2018-10-18 15:16:31 2726

转载 sql 语句执行顺序

sql语法的分析是从右到左一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。5)选择优化器,不同的优化器一般产生不同的“执行计划”6)...

2018-10-11 14:42:50 200

转载 mysql 优化规范

一、基础规范使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高   推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字   表、字段必须加注释 方便他人理解字段意思,在后期维护中非常非常有用,不用去瞎猜这个字段是干嘛的。   不在数据库做计算 禁止使用存储过程、视图、触发器、Event。...

2018-10-11 14:30:10 159

转载 sql left join on

“A LEFT JOIN B ON 条件表达式” 的一点提醒ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 NULL 的数据在匹配阶段 WHERE 子句的条件都不会被使用。仅在匹配阶段完成以后,WHERE 子句条件才会被使用。它将从匹配阶段产生的数据中检...

2018-10-11 11:27:55 179

转载 Java 单测之Mock

一.前言集成的单元测试和集成测试有什么区别呢?  集成测试(Integration Testing):是在单元测试的基础上,将所有模块按照概要设计要求组装成为一个子系统或者系统,进行集成测试。一些模块虽然能够单独工作,但并不能保证连接起来也能正常的工作,程序在某些局部反映不出来的问题,在全局上很可能暴漏出来,因此集成测试十分必要。  集成的单元测试:按字面意思的理解,就是对该集成类进行单...

2018-09-25 15:16:27 5926

原创 SpringBoot注解

有关SpringBoot架构中yml配置文件的两种读取方式:@ConfigurationProperties @Value但是在使用之前必须用@Component/@Configuration使其成为Spring容器的组件,这样Spring才能为它注入值。直白的说Component包含了Configuration的所用注解:Configuration和Component都是注解在类...

2018-08-28 20:24:48 123

原创 HashMap常用操作

Map是java中的接口,Map.Entry是Map的一个内部接口。         Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。它是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中...

2018-08-25 17:34:11 184

转载 Collections.sort()两种用法

Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:(1)public static <T extends Comparable<? super T>> void sort(List<T> list) {        list.sort(null);}(2)public stat...

2018-08-24 15:19:55 1736

转载 GUAVA的使用

转载https://blog.csdn.net/fd_mas/article/details/525833121    字符串处理1.1   分割(Splitter)JDK内建的字符串拆分工具(split)有一些古怪的特性,绝对不要用。比如,它会悄悄丢弃了尾部的分隔符。Splitter强大安全而且是链式编程。比如,要分割如下字符串:alex,,45,   tianshan ro...

2018-08-23 21:31:16 1467

转载 jdk7中Arrays.sort()和Collections.sort()排序方法使用注意

转载:https://blog.csdn.net/shadow_zed/article/details/727589121. 为什么写这篇文章这篇文章的根源是在产品中发现了一个诡异的bug:只能在产品环境下重现,在我的本地开发环境无法重现,而双方的代码没有任何区别。最后用remotedebug的方法找到异常所在:Exception in thread "main"Java.lang....

2018-08-20 18:24:15 1074 1

转载 rabbitmq基本原理

通信过程假设P1和C1注册了相同的Broker,Exchange和Queue。P1发送的消息最终会被C1消费。基本的通信流程大概如下所示:P1生产消息,发送给服务器端的ExchangeExchange收到消息,根据ROUTINKEY,将消息转发给匹配的Queue1Queue1收到消息,将消息发送给订阅者C1C1收到消息,发送ACK给队列确认收到消息Queue1收到ACK,删除队列中缓存的此条消息C...

2018-05-02 14:09:18 602

转载 mybatis mapper与实体类映射原理

web.xmlspring-context.xmlspring-config-datasource.xml解析mapper的xml配置文件我们来看看mybatis是怎么读取mapper的xml配置文件并解析其中的sql语句。我们还记得是这样配置sqlSessionFactory的:?123456<bean id="sqlSessionFactory" class="org.mybatis.s...

2018-04-23 16:58:36 11735

转载 struts参数传递演化

写服务端比较头疼的事情就是从前端往后台传递参数了,一般的套路是:前端页面写一大堆乱七八糟的参数 --> 传递到后台 --> 后台接收并且提取封装为一个对象,然后拿这个对象去进行各种业务操作。 v0.1 最早的时候是使用的Servlet,它是这样子的: 前端代码: <form action="loginServlet" method="post"> 用户名:<...

2018-04-20 10:13:58 123

转载 hibernate 常用hql语句

这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利。在这里通过定义了三个类,Special、Classroom、Student来做测试,Special与Classroom是一对多,Classroom与Student是一对多的关系,这里仅仅贴出这三个bean的属性代码:Special类:public class Special{ private int id; privat...

2018-04-19 20:24:32 274

转载 hibernate setParameter()

hibernate中对动态参数的绑定提供了丰富的支持。其中参数绑定有两种形式。(1)按参数的名字进行绑定在hql查询语句中定义命名参数,以“ :”开头,形式如下:Query query =session.createQuery(" from Customer as c where c.name =:customerName");上面的HQL语句定义了“customerName”命名参数,接下来调用...

2018-04-19 20:00:56 11026

转载 hibernate query对象

 1.使用query对象,不需要写sql语句,但是写hql语句   (1)hql:hibernate query language ,hibernate提供查询语句,这个hql与普通sql语句很相似(2)hql和sql区别:sql语句是通过数据库表和字段进行操作,hql是通过实体类和属性进行操作2.查询所有hql语句(1)from 实体类名称3.Query对象使用 (1)创建Query对象(2)调...

2018-04-19 15:51:13 1488

原创 ModelAndView

Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet将负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Co...

2018-04-16 17:45:08 235

转载 java常用注解

这两天公司在做一个网站项目,框架使用的是springMVC框架,在这里对这几个注解做一个归纳整理项目中的controller层使用@controller注解@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,...

2018-04-16 14:14:51 465

转载 @SuppressWarnings注解

简介:java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={})根据sun的官方文档描述:v...

2018-04-13 15:49:17 218

转载 restful风格,restcontroller与controller

初步接触springmvc的时候,被要求使用restful风格,彼时一头雾水,不懂何谓restful,参阅了很多资料,慢慢的接触的也越来越多,如今spring的况且已基本运用熟练,简单谈一下我的一些看法,当然,只是我自己的浅显粗陋的见解,不对的地方还望指正。restful风格简单的理解,restful是一种url风格,或者说是规范,在以前的网址中,假定一个业务,取得数据网址为http://test...

2018-04-13 15:45:31 134

转载 hibernate mybatis

先比较下jdbc编程和hibernate编程各自的优缺点。   JDBC:   我们平时使用jdbc进行编程,大致需要下面几个步骤:   1,使用jdbc编程需要连接数据库,注册驱动和数据库信息   2,操作Connection,打开Statement对象   3,通过Statement对象执行SQL,返回结果到ResultSet对象   4,使用ResultSet读取数据,然后通过代码转化为具体...

2018-04-12 17:16:03 151

转载 try-catch-finally用法

try catch finally 用法总结:try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 ...

2018-04-12 13:55:24 217

转载 IntelliJ IDEA使用教程 (总目录篇)

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过来的吧。下面直接看图,详细解释,每一个按钮(按钮...

2018-04-11 20:58:38 233 1

原创 解析ResponseBody ResultMapping

国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法,此处需注意@RequestMapping用在类上可以没用,但是用在方法上必须有。@RequestMapping("user")pu...

2018-03-30 10:59:38 952

原创 MyBatis用法

1.占位符 #{} ${}    一般参数传递用#{},sql执行时参数带引号“”    在进行group by 或order by 的时候,使用${},sql执行的时候不带引号原则:能用#的地方不要用$,避免sql注入,更加安全,列个例子供参考:(1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时...

2018-03-22 19:33:17 192

原创 requeset.getPath()多种路径获取方式

假定你的web application 名称为news,你在浏览器中输入请求路径:http://localhost:8080/news/main/list.jsp1.1 System.out.println(request.getContextPath());打印结果:/news1.2 System.out.println(request.getServletPath());打印结果:/main/...

2018-03-21 16:59:51 627

原创 filter的权限过滤(基础篇--用户是否登录权限过滤)

Filter:过滤器     Filter主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。使用Filter的完整流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理 创建Filter的步骤:   1.创建Filter处理类   2.在web.xml文件中配置Fil...

2018-03-20 15:18:35 3807

转载 分析http请求从浏览器到tomcat全过程

前些天刚看完《How Tomcat Works》,虽然书比较老,但是看完后收获还是挺多的,懂得了tomcat的内部结构和一个请求进出tomcat的全过程。前些天看的为什么现在提呢,因为做到了面试题呀,发现自己原本很清晰的思路突然模糊了,所以花点时间总结一下。 题目是说一说在浏览器中输入一个url后,直到浏览器显示页面的过程中发生了什么? 如果我说的话,会分四步: 1.通过访问的域名找出其IP地址...

2018-03-02 16:56:23 1264

转载 Tomcat中各组件介绍

转载地址:http://blog.csdn.net/vba_2001/article/details/7184759XML配置文件结构<Server>                     顶层类元素:一个配置文件中只能有一个<Server>元素,可包含多个Service。    <Service>                顶层类元素:本身不是容器,可包...

2018-03-02 16:38:23 1211

空空如也

空空如也

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

TA关注的人

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