自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BestBigKK

学习阶段,不足之处烦请指正!

  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 解决:The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml...

今天在运行Web应用的时候,又遇到了之前遇到的错误,一时间又忘记了解决的办法,所以还是花一些时间记录下来流程吧。具体的现象是这样的:一个Web应用,包含JSP页面,使用到了JSTL标签库。在启动之后,报错:The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or t...

2019-06-23 23:23:49 1462

原创 Spring 事务

Spring 事务管理事务可以理解为与数据库相关的一组操作,要么全部执行,要么全部不执行。Spring提供两种事务管理模式:编程式的实现。声明式的实现,其中又包含注解实现以及配置文件实现。Spring事务管理的几个高层接口有以下几个:PlatformTransactionManager事务管理器,事务定义信息TransactionDefinition事务定义信息,Transactio...

2019-06-01 20:06:58 190

原创 Spring JDBCTemplate

JDBCTemplateSpring作为一个一站式的框架,针对各层都进行了封装处理,针对Dao,SpringJDBC提供了适用于不同持久层框架的封装模板,以简化操作的流程。(1)JDBCTemplate使用的时候,需要引入spring.jdbc.jar包以及spring.tx.jar事务包,并根据要连接的数据库添加相关驱动。(2)创建DriverManageDataSource 对象,并设置...

2019-06-01 20:06:23 196

原创 Spring AOP

AOPAOP:面向切面编程,扩展一个方法的功能,不通过修改源代码的层面实现,它采用横向抽取机制,取消了传统的纵向继承体系,少了很多重复性的代码,为一些列的方法提供一个统一的增强(事务,安全,缓存,性能监测等),在AOP之前,如果要对方法进行增强,有以下两种方式,分别是:直接在方法内部进行实现以及采用纵向抽取机制。这两种方法都各有弊端,第一种方法会修改源代码并且会增加大量的重复性代码,而第二种方式...

2019-06-01 20:05:35 161

原创 Spring IOC

Spring框架提供了非常多的模块,如果使用基本的Spring功能,需只需要引入其核心的几个包即可,前四个正是Spring位于核心容器内的几个模块。后两个与日志相关。spring-beansspring-corespring-contextspring-expressioncommons-logginglog4j1.IOCIOC可以接管对象的实例化工作,不用自己去创建,只需进行...

2019-06-01 20:04:43 675

原创 Java IO

Java IO流File文件操作在使用流的时候,有时间会接触到对文件的操作,可能是需要从文件读取数据或者将流写出到文件,这里简单记录下对文件的操作。文件的操作大都集中于File类,可以参照API对其提供的操作有较为清晰地认识。通过这个类可以将一个文件或者目录读取为对象进行操作,并提供了对文件的常用操作(新建,删除,重命名,获取信息等),同时如果读取的对象为目录,则同样可以进行对目录的操作(获...

2019-06-01 20:01:05 128

原创 Java NIO

NIONIO(Non Blocking IO / New IO)于JDK1.4引入,可用于代替标准的JavaIO API, NIO与原来的IO有着相同的作用于目的,但是二者在使用上以及特点上还是有较大区别。NIO相较于传统的IO能进行更加高效的读写操作。NIO与传统IO的区别主要体现在以下几个地方:传统IO是面向流(Stream)的, 但是NIO是面向缓冲区的(Buffer Oriented...

2019-06-01 19:57:34 172

原创 Java动态代理

Java 动态代理动态代理机制是指通过代理类,接口与具体的实现类并不直接产生关系,而是在运行期间产生关联。大致的流程如下:创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。创建一个代理类(wrapper)同时使其也实现这个接口。在代理类中持有一个被代理对象的引用。在代理类方法中调用该对象的方法。代理类方法里面可以添加一些新的功能。整个流程大致如下:在Java...

2019-06-01 19:52:17 127

原创 Java反射

Java 反射在正常编写Java程序的过程中,我们是知道某个类具有什么样的功能,什么样的调用形式。在这种前提下,我们创建实例并进行相关方法的调用。这种在编译前就已经确认类型的编译方式成为静态编译。反射指的是程序可以在运行期间访问,检测,修改它本身的状态的一种行为,并根据自身行为状态和结果,调整或修改应用所描述行为的状态和相关的语义。换句话说,通过反射Java程序可以加载一个运行时候才能得知名字的...

2019-06-01 19:50:20 152

原创 Java多线程

Java 多线程进程与线程进程:操作系统分配资源的基本单位,它往往代表了一个程序的实例,是一段程序的执行的过程。比如我们打开的网页,播放器等软件。在这些软件打开的时候,操作系统就会为其分配资源,并加入到就绪队列,当其获得CPU时间片之后,就开始正式运行了。每一个进程拥有其独立的内存空间(包含要执行的代码,数据区域,堆栈),且与其他的进程是不共享的。当CPU时间完之后,将会切换到其他的线...

2019-06-01 19:48:28 86

原创 JavaSE基本概念总结

JavaSE基础知识总结JVM, JRE, JDK简述JDK为Java开发工具包,包含所有开发中常用的工具(编译器,文档生成工具),通过JDK才可以进行程序的编译工作。包含JRE以及JVM。JRE为Java程序的运行环境,运行的为编译之后的.class文件,JRE包含Java运行过程中所需要的类库以及Java命令。他只是一个运行环境,不能进行编译工作。JVM为Java虚拟机,它运行翻译后...

2019-06-01 19:45:25 293

原创 Mybatis(6) 一对多关系的映射以及数据获取

一对多关系的映射以及数据获取在使用级联查询时候,有时候会存在查询出多条信息且对应一条记录的情况,也就是多对一的情况,关于这种情况的映射关系以及数据获取在上篇文章做出了简单的介绍。有些时候也会存在查询一条信息对应多条信息的情况,也就是一对多的情况,针对这种情况也有建立映射以及数据获取的方法。 本例将继续使用上篇建立多对一映射的实体。Customer以及Order,Customer与Ord...

2018-09-01 13:59:06 186

原创 Mybatis(5) 多对一关系的映射与数据获取

Mybatis多对一关系的映射与数据获取在之前的数据获取时,所针对的都是对一张表的操作。所映射的结果也都直接的是通过resultType属性映射到一个规定的实体类里。但是针对同时对多个表进行的级联查询。则需要进行一些改变。可以使用statement的属性resultType以及resultMap来接收所获取的级联查询结果。 以下进行举例的情况如下:存在个表Order(订单)以及表Cus...

2018-09-01 01:47:08 159

原创 Mybatis(4) 动态SQL语句的创建

创建动态SQL语句一个statement的编写可以看作是对特定接口的某一方法的实现,在对每个方法实现的过程中,常使用select、update、delete、insert标签来表明方法操作所属的类别。在编写的时候,可以配合使用其他标签进行statement的创建,包括sql片段标签,where标签、if标签,foreach标签,来将所编写的statement标签作为一个动态的SQL语句存在。具...

2018-09-01 00:33:01 413

原创 Mybatis(3) 属性配置文件

属性配置文件在使用Mybatis时候需要编写配置文件以指定其运行时候所需要的信息。包含了一系列的标签,大致有以下的几个类别:properties:属性标签settings:全局配置参数标签typeAliases:类型别名标签typeHandlers:类型处理器标签objectFactory:对象工厂plugins:插件environments:环境集合属性对象environ...

2018-08-30 17:04:58 226

原创 Mybatis(2) Mapper接口开发

Mapper接口开发的形式Mapper接口开发方法只需要编写针对一个某个实体类操作的dao层接口,然后Mybatis根据接口定义方法的规则创建动态代理对象,代理对象就相当于对一个接口的实现类。 本文使用一个名为UserDao的接口,简述接口开发的过程1.定义接口UserDao针对需求在接口里面定义方法,后续在映射文件里面按照所设定的规则进行配置,UserDao里面的方法如...

2018-08-30 13:40:51 251

原创 Mybatis(1) 初识

Mybatis实现入门级的简单增删改查与Hibernate类似,MyBatis也是一个持久层的框架,关于该框架的类型,介绍有很多,这里就不再赘述。因为是初次接触,所以遵循一个循序渐进的过程,先使用该框架实现最基本的CRUD操作。同时对其中使用到的对象以及配置过程也只是先做出简单的说明。后续随着学习的深入在对特定知识做出详细的总结。 本文仅使用一个简单的实体类User作为操作对象。仅包含...

2018-08-29 21:29:09 125

原创 Hibernate(10) 查询

通过Hibernate查询信息Hibernate提供了多种的查询方式来进行数据的获取。可以通过对象OID查询、导航查询、HQL语句查询,QBC查询,下面各自对这三种方式的查询步骤做出一个简单的汇总 下面的查询使用到了一些实体以及数据,数据实体包括代表消费者的实体Customer、代表收货地址的实力Address。二者为1对多的映射关系,下面是他们各自的值: 下面的...

2018-08-26 18:14:21 189

原创 Hibernate(9) 多对多的级联操作

多对多的级联操作在建立完多对多的映射关系之后,可以尝试对其进行级联操作1.多对多的级联插入操作新建实体对象,可以将两者的任意一方加入到本实体中,因为是多对对,学生可以对应更多的老师表示有更多的老师教他,老师也可以添加学生以表示老师教授了更多的学生。 按照上篇的举例继续演示示例,添加两位老师,以及3名学生,李老师教学生1,2、 许老师教学生1,2,3。示例代码如下:@Tes...

2018-08-25 19:44:46 183

原创 Hibernate(8) 多对多映射关系的建立

建立多对多映射关系之前已经了解了一对多的关系建立以及其操作,接下来接着总结多对多映射关系的建立,多对多映射关系的建立与一对多映射关系的建立类似,不同的是二者的实体都需要Set集合形式,并且映射文件也都需要使用many-to-many标签建立映射,除此之外,还需要建立第三张表并设置两个外键。下面按照步骤说明建立的过程 举例:一个学生可以分别有不同的老师授课,一名老师也可以给不同的学生授课...

2018-08-25 18:08:30 194

原创 Hibernate(7) 一对多的级联操作

一对多级联操作1.级联插入操作继续引用上篇所建立的一对多映射关系,在本例中尝试插入一个消费者以及一个地址,首先可以使用如下的方式进行:分别创建实体对象Customer以及地址实体Address,并为其设置值。为两个实体建立彼此的关系将两个对象持久化代码如下: @Test public void test(){ SessionFactory ...

2018-08-25 16:58:15 158

原创 Hibernate(6) 一对多映射关系的建立

1.一对多的映射关系的建立很多时候。我们在对数据库进行更改的时候,除了会操作单独的一个表,跟多的是会操作多个表,并且表与表之间也会通过外键进行关联,而Hibernate同样可以帮助建立这样的多表关系并对数据库进行级联操作。首先来讲,表与表之间可以存在一对一,一对多,多对多的关系,其中1~N, M~N关系的举例说明可以用如下的图进行表示: 图示的这两种关系并不难理解,而如何在Hiberna...

2018-08-25 15:24:40 480

原创 Hibernate(5) 一级缓存

Hibernate的一级缓存Hibernate提供了优化,缓存机制就是其中的一种,用于减少对数据库的访问,提高效率,Hibernate提供了一级缓存、二级缓存,这里只对一级缓存做出简单的总结1.一级缓存的特点:默认是打开的作用范围:一个线程中Session对象创建完成到这个Session对象被销毁仅保存持久态的对象对持久态对象所做的更改会自动提交到数据库中2.验证一级...

2018-08-25 02:05:23 329

原创 Hibernate(4) 基本CRUD操作 以及实体类的几种状态

使用Hibernate进行CRUD操作1.CRUD操作在了解完Hibernate的对象之后,可以尝试进行CRUD的操作,毕竟是Dao层的框架,那么最起码要和数据库产生点关系,看看是个什么样的结果呗。代码比较简单,就直接贴了。在里面进行了简单的说明,写出来还是为了加深印象,好记性不如烂笔头,好好总结才是自己的! 好了回正题,下面列出了基本的CRUD操作: 1.以下的操作未按照正常的t...

2018-08-24 23:45:47 208

原创 Hibernate(3) 主键的生成策略

主键的生成策略在第一篇的文章中,配置映射文件的时候接触到了主键的生成策略,接下来对这几个策略进行一下说明:<class name="com.bestbigkk.domain.Person" table="tb_person"> <!--指示该实体类中哪一属性与表的主键对应,每建立一个映射关系都必须指定!--> <id name=...

2018-08-24 17:42:02 134

原创 Hibernate(2) 常用对象介绍

对Hibernate的几个对象的理解-完成了配置文件的步骤以后,在使用Hibernate的使用过程中会用到一些类,对这些类做一个简单的汇总理解1.Configuration这个是我们在使用Hibernate的时候用到的第一个对象了,他的主要作用是用来加载我们所配置的核心配置文件,具体的加载过程有如下三种形式://加载Hibernate的默认核心配置hibernate.cfg.xml...

2018-08-24 16:52:16 229

原创 Hibernate(1) 初识Hibernate

Hibernate(1) 初识HibernatePart 1 简单介绍     之前已经学习了Java Web开发中的三层架构,现在开始学习Hibernate框架来帮助提升在Dao层开发的效率,Hibernate框架的介绍之类的就不再赘述,百科说的很详细,仅抽取几个比较有特点的概念来简述一下。这些因为是初次接触,还是记下来,以便后续再看...

2018-08-23 21:00:18 165

空空如也

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

TA关注的人

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