向下转型的使用Java的多态性:父类指向子类的声明Animalanimal=newDog()//Dog()重写了父类Animal有了对象的多态性以后,内存实际上加载的是子类的属性和方法,但是由于变量声明为父类类型,导致编译时只能调用父类的属性和方法,子类特有的属性方法不能调用。调用子类特有的属性和方法:向下转型,使用强制类型转换符。向下转型有风险,使用强转可能出现ClassCastException异常。为了避免出现异常,此时应该使用instanceof关键字。向下转型在开发中使用较少,一般只会用父类中存在的属性方法。因为多态性是运行时行为,但是在编译的时候就已经加载了子类的属性和方法,但是用
哈希与一致性哈希在分布式系统中,哈希和一致性哈希是数据索引或者数据分布的常见实现方式。数据分布设计原则在分布式数据存储系统中,做存储方案选型时,一般会考虑以下因素:数据均匀数据稳定节点异构性隔离故障域性能稳定性数据均匀有两重含义:不同存储节点中存储的数据要尽量均衡,避免让某一个或者某几个节点存储压力过大,而其他节点几乎没有什么数据。用户访问也要做到均衡,避免出现某一个或者某几个节点的访问量很大,但其他节点却无人问津的情况。数据稳定是指当存储节点出现故障需要移除或者扩增时,数据按照分布规则得到的结果应该尽量保持稳定,不要出现大范围的数据迁移。节点异构性是指不同存储节点的硬件配置可能差别很大,这样
哈希与一致性哈希在分布式系统中,哈希和一致性哈希是数据索引或者数据分布的常见实现方式。数据分布设计原则在分布式数据存储系统中,做存储方案选型时,一般会考虑以下因素:数据均匀数据稳定节点异构性隔离故障域性能稳定性数据均匀有两重含义:不同存储节点中存储的数据要尽量均衡,避免让某一个或者某几个节点存储压力过大,而其他节点几乎没有什么数据。用户访问也要做到均衡,避免出现某一个或者某几个节点的访问量很大,但其他节点却无人问津的情况。数据稳定是指当存储节点出现故障需要移除或者扩增时,数据按照分布规则得到的结果应该尽量保持稳定,不要出现大范围的数据迁移。节点异构性是指不同存储节点的硬件配置可能差别很大,这样
原生的API&注解方式1.MyBatis原生的API调用1.1原生API快速入门需求:在前面的项目基础上,使用MyBatis原生的API完成,即直接通过SqlSession接口的方法来完成操作1.2代码实现MyBatisNativeTest.java,演示原生的API操作其实底层还是使用的映射的xml文件的sql语句packagecom.li.mapper;importcom.li.entity.Monster;importcom.li.util.MybatisUtils;importorg.apache.ibatis.session.SqlSession;importorg.junit.Be
原生的API&注解方式1.MyBatis原生的API调用1.1原生API快速入门需求:在前面的项目基础上,使用MyBatis原生的API完成,即直接通过SqlSession接口的方法来完成操作1.2代码实现MyBatisNativeTest.java,演示原生的API操作其实底层还是使用的映射的xml文件的sql语句packagecom.li.mapper;importcom.li.entity.Monster;importcom.li.util.MybatisUtils;importorg.apache.ibatis.session.SqlSession;importorg.junit.Be
自己实现Mybatis底层机制-027.任务阶段4&5阶段4任务:开发Mapper接口和Mapper.xml阶段5任务:开发和Mapper接口相映射的MapperBean(1)Mapper接口packagecom.li.mapper;importcom.li.entity.Monster;/***@author李*@version1.0*MonsterMapper:声明对数据库的crud方法*/publicinterfaceMonsterMapper{//查询方法publicMonstergetMonsterById(Integerid);}(2)Mapper.xml文件select*from
自己实现Mybatis底层机制-027.任务阶段4&5阶段4任务:开发Mapper接口和Mapper.xml阶段5任务:开发和Mapper接口相映射的MapperBean(1)Mapper接口packagecom.li.mapper;importcom.li.entity.Monster;/***@author李*@version1.0*MonsterMapper:声明对数据库的crud方法*/publicinterfaceMonsterMapper{//查询方法publicMonstergetMonsterById(Integerid);}(2)Mapper.xml文件select*from
SpringMVC异常处理1.基本介绍SpringMVC通过HandlerExceptionResolver处理程序的异常,包括Handler映射、数据绑定以及目标方法执行时发生的异常有两种方案来进行异常处理:a.在本类编写处理异常的方法,将抛出的异常视为局部异常处理b.额外编写处理异常的类,将抛出的异常视为全局异常处理主要处理的是Handler中使用了@ExceptionHandler注解修饰的方法(局部异常处理)ExceptionHandlerMethodResolver内部若找不到上述@ExceptionHandler注解修饰的方法,就会去找有@ControllerAdvice注解修饰的
SpringMVC异常处理1.基本介绍SpringMVC通过HandlerExceptionResolver处理程序的异常,包括Handler映射、数据绑定以及目标方法执行时发生的异常有两种方案来进行异常处理:a.在本类编写处理异常的方法,将抛出的异常视为局部异常处理b.额外编写处理异常的类,将抛出的异常视为全局异常处理主要处理的是Handler中使用了@ExceptionHandler注解修饰的方法(局部异常处理)ExceptionHandlerMethodResolver内部若找不到上述@ExceptionHandler注解修饰的方法,就会去找有@ControllerAdvice注解修饰的
SpringBoot整合MyBatis/Plus1.SpringBoot整合MyBatis1.1整合案例需求:整合SpringBoot和Mybatis,向数据库中查询数据。项目结构:1.1.1创建数据库和表--创建数据库DROPDATABASEIFEXISTSspringboot_mybatis;CREATEDATABASEspringboot_mybatis;USEspringboot_mybatis;--创建表CREATETABLEmonster(`id`INTNOTNULLAUTO_INCREMENT,`age`INTNOTNULL,`birthday`DATEDEFAULTNULL,`