MYSQL索引失效的问题

1、条件中用or,即使其中有条件带索引,也不会使用索引查询注意:要想使用or,又想索引生效,只能将or条件中的每个列都加上索引2、对于多列索引,不是使用的第一部分,则不会使用索引3、like查询是以%开头4、如果列类型是字符串,那一定要在条件中将数据使用引导引用起来,否则不使用索引

spring 传播属性

Spring定义了七种传播行为:PROPAGATION_REQUIRED表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务PROPAGATION_SUPPORTS表示当前方法不需要事务上下文,但是如果存在当前事务的话,那么该方法会在这个事务中运行PROPAGATION_MANDATORY表示该方法必须在事务中运行,如果当前事务不存在,则会抛出一个异常PROPAGATION_REQUIRED_NEW表示当前方法必须运行在它自己的事务中。一个新的事务将被

spring事务有哪些特性

原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。隔离性(Isolation):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。持久性(Durability):一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,这样

springboot 加载顺序

1.在命令行中设置的参数。2.SPRING_APPLICATION_JSON 中的属性。SPRING_APPLICATION_JSON 是以 JSON 格式配置在系统环境变量中的内容。3.java:comp/env 中的JDNI属性。4.java的系统属性,可以通过System.getProperties()获得的内容。5.操作系统的环境变量。6.通过 random.*配置的随机属性。7.位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,例如applicatiom-{pro

springmvc 流程

1、  首先用户发送请求到前端控制器,前端控制器根据请求信息(如 URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;2、  页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在 Spring Web MVC 中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个 ModelAndView(模型数据和逻辑视图名)3、  前端控制器收回控制权,然后根据返回的逻辑视图名,

aop ioc设计思想

IOC(Inverse of Control) 控制反转 以前程序中需要使用对象时,需要自己new一个,造成程序与对象的强耦合。 IOC 对象的生成交给spring容器完成 DI(Dependency Injection),依赖注入IOC与DI一个意思,等价AOP(Aspect-oriented Programming)面向切面编程Spring   IOC使用了工厂模式Spring   AOP使用了代理模式

什么场景下使用list,set,map呢?

如果你经常会使用索引来对容器中的元素进行访问,那么 List 是你的正确的选择。如果你已经知道索引了的话,那么 List 的实现类比如 ArrayList 可以提供更快速的访问,如果经常添加删除元素的,那么肯定要选择LinkedList。如果你想容器中的元素能够按照它们插入的次序进行有序存储,那么还是 List,因为 List 是一个有序容器,它按照插入顺序进行存储。如果你想保证插入元素的唯一性,也就是你不想有重复值的出现,那么可以选择一个 Set 的实现类,比如 HashSet、LinkedH

set、list、map 有什么区别

List: 1.可以允许重复的对象。     2.可以插入多个null元素。         3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。         4.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添

什么是集合

1、集合类存放于java.util包中。2、集合类型主要有3种:set(集)、list(列表)和map(映射)。3、集合存放的都是对象的引用,而非对象本身。所以我们称集合   中的对象就是集合中对象的引用。