05 2020 档案
摘要:4.4.配置校验器 》由于适配器来执行处理器,需要给适配器注入校验器 》在springmvc.xml注册检验器 然后再mvc驱动上添加一个属性validator,把检验器工厂的beanId写上就注入成功 4.5校验规则 1.该校验器是通过注解的方式进行校验的,在指定对象的属性上加校验注解 2.下面举
阅读全文
摘要:springmvc和struts2的区别 》springmvc是基于方法开发,struts2基于类开发的 》springmvc通过url跟方法进行映射,映射成功后会创建一个Handler对象,对象只有一个方法(当前url映射的方法),所以springmvc是支持多例(handler)的,也意味着形参
阅读全文
摘要:一.参数绑定过程 》客户端请求的附带参数,通过参数绑定的方式,和方法的形参进行绑定 》绑定的流程: 1.客户端发送带有参数的请求 2.处理器适配器使用springmvc提供的参数绑定组件将上传的参数数据类型转换为方法的形参类型(参数绑定组件是用来转换数据类型的) * 参数绑定组件:早期springm
阅读全文
摘要:controller方法返回值类型 1.ModelAndView 集合数据和视图路径一体,但不推荐用,耦合度高; 2.String(推荐使用) >返回逻辑视图名;这个其实是把ModelAndView给拆开了,提供一个model对象存储数据,view用return "路径"的方式代替了 >redire
阅读全文
摘要:* @RequestMapping 》用于将url跟方法进行绑定,通过访问指定url执行相应的方法 @RequestMapping("/getCustList") public ModelAndView getCustList(){ List<Customer> list = customerSer
阅读全文
摘要:1.<context:annotation-config/> 》可能大家没见过这个标签,但是它提供的注解的使用你一定用过,比如@Autowired,@Resource,@PostConstruct等,至于你为什么没用到这个标签,还能正常使用且由效果呢,请继续往下看 1..如果你想使用@Autowir
阅读全文
摘要:1.我们使用eclipse创建web工程,默认类路径是在build/classes下,一般我们使用classpath代表的就是类路径即build/classes,如果换了一个类路径/WEB-INF/classes的话,classpath就是/WEB-INF/classes
阅读全文
摘要:一.springmvc-mybatis整合思路 1..整合dao层 1.整合mybatis和spring,把mapper接口交给spring容器来管理,由于mapper接口可能存在多个的现象,使用mapper的扫描的方式在容器中注册 2..整合service层 2.spring管理service接口
阅读全文
摘要:1.打开DispatcherServlet.class,找到doDispatcher(),有一行代码mappedHandler = getHandler(processedRequest),调用映射器找处理器的方法 2.进入此方法,里面正是根据request中url查找handler,并返回执行链
阅读全文
摘要:一.需求分析 二.数据库环境 1.创建数据库 2.设计表 3.建表 三.java环境 1.jdk版本 2.开发环境 3.jar包 4.框架技术 四.配置前端控制器DispatcherServlet 1.在我们的web.xml中,配置前端控制器,配法跟以前是一样的,不过要注意的是还得配一个init-p
阅读全文
摘要:• 先看下spring提供的完整架构图 • 说一下常见的spring提供在各层次的技术: 1.dao层有spring jdbc的支持,对jdbc的技术进行了封装 2.orm的hibernate和ibatis,spring是提供了整合的一个支持 3.Web包含了我们的struts和即将要讲解的spri
阅读全文
摘要:一.导包 1.Mybatis的核心包以及依赖包 2.Spring的jar包(这个可能麻烦点) 3.mybastis和spring整合包 4.数据库驱动包 5.根据自己需求,junit,jstl等jar包导入,下面也将springmvc所需的jar也导入了 二.设计表,创建表 三.创建mybatis和
阅读全文
摘要:这里说的一对一和一对多指的是某一方为中心来看待的 一.一对一映射 1.给order类添加一个属性对象user,如图: 2.现在比如查询全部有所属客户的订单,在映射文件配置如下: <!-- 除普通属性外,映射到属性对象中的属性 --> <resultMap type="Orders" id="orde
阅读全文
摘要:1.where和if标签 (1)where标签能消除第一个条件的前and 和or关键字,避免了sql语句语法错误 (2).if标签表示判断 <!-- 以性别和名字条件查询用户 --> <select id="findBySexAndName" parameterType="User" resultT
阅读全文
摘要:结果集映射有两种方式:resultMap和resultType; 1.resultType为自动映射,保证pojo属性名和表中列名一致即可 2.resultMap为手动映射,当pojo属性名和表中列名存在不一致时,自己来映射他们的关系,比较好的是如果存在相同的属性名和列名,在手动映射时可不书写,书写
阅读全文
摘要:在mapper.xml的映射文件的crud标签有parameterType该属性,表示输入参数的类型 1.输入参数之传递简单类型,如Integer,String等,如图: 2.输入参数之传递pojo类,如图: 3.输入参数之pojo包装类(pojo包装类:即一个pojo类中含有一个pojo对象作为属
阅读全文
摘要:1.默认类路径下查找,加载该配置文件 2.配置顺序 3.给完整类名取别名 如果只给少数的类取别名,用typeAlias足够了;如果包下需要取别名的类很多,可以使用package指定父包,会使用包和子包下的所有类取个别名,别名默认是类名,首字母大小写都可以,在之前传参的类型直接写Integer,Str
阅读全文
摘要:1.原始Dao开发 2.动态代理开发Dao >好处:不需要书写实现类,只提供接口即可,只要遵循4个原则,动态代理会帮我们生成接口的实现类 >mapper动态代理遵循的4个原则: (1)当前接口名和映射文件的根元素的namespace值一致 (类) (2)方法名和insert,update等增删改查标
阅读全文
摘要:一.导包 1.导3类包:mybatis核心包,mybatis依赖包,驱动包 二.设计表,创建表 三.创建实体类 四.创建主配置文件,映射文件 1.主配置文件sqlMapConfig.xml,文件基本配置内容如下: <?xml version="1.0" encoding="UTF-8"?> <!DO
阅读全文
摘要:一.Mybatis介绍 二.jdbc的不足 三.Mybatis架构 1.sqlMapConfig.xml是Mybatis的主配置文件,而其他像Mapper1,Mapper2.xml等是映射文件,不过注意的是,mybatis的映射文件跟hibernate还是有很大的不同的。mybatis的映射文件配置
阅读全文
摘要:说一下字节输入流的read(),该方法有个特点,它是有线程等待的机制,什么时候会出现呢? 1.如果有文件数据读,则读到末尾会返回-1;但没有数据读的话,会一直线程等待 2.如果读取的不是文件数据,而是字节数组的话,是不会返回-1的;通常我们在客户端向服务器输出完后得告诉它一声我们没数据了,它才停下来
阅读全文
摘要:一.maven远程仓库:私服(nexus) 1.到时候到公司开发,jar的获取就不再是本地仓库了,得到私服上拿,也得提供相应模块的jar给其他团队使用 2.安装nexus;在指定路径最好创建一个nexus文件夹,到时候把下载好的nexus包解压出来放到该文件夹下,解压目录结构如下: 说一下一个重要文
阅读全文
摘要:一.maven分模块开发流程 一般传统的项目分为4个模块:entity(实体),web,service,dao(开发到一定阶段,得打包向仓库保存,因为模块之间是得相互引用的) 1.创建父工程,工程为pom类型,该工程的pom.xm中主要是提供jar和插件给子模块的使用 2.创建dao模块,dao模块
阅读全文
摘要:1.创建配置文件 2.书写代码
阅读全文
摘要:总结:泛型的限制是在源码这一块,编译器会带源文件的泛型进行限制,但是经过编译后的字节码文件时没有泛型的,所以我们通过反射的手段在运行期添加的值是不受泛型的限制的
阅读全文
摘要:1.获取空参方法 2.获取有参方法
阅读全文
摘要:1.获取无参 2.获取有参构造 3.获取构造方法并运行的快速方式 4.反射获取私有构造方法并运行 总结:获取的constructor类对象,并不是一个具体的构造方法的实例,它是该实例的类对象,通过该类对象可以创建多个不同的constructor实例
阅读全文
摘要:一.class对象的产生 1.假设有一个person类,经过编译后得到一个person字节码文件,运行该文件有一个过程:加载到方法区中,并在堆中生成对应的class对象 2.有了class对象,我们就可以通过解剖class对象,就可以拿到里面的所有东西,如:构造,方法,变量等等 3.所有的class
阅读全文
摘要:一.导包 1.相信大家做第一个ssh项目时,导包还记得导多少个吗?我记得是导了40多个包;现在结合maven来改造之前的ssh,jar的获取从仓库来,这就要从pom.xml慢慢配依赖了。 2.学过maven传递依赖的应该知道,导了A包,会将其直接依赖和传递依赖等都导进来,还有版本冲突问题,就引发了如
阅读全文
摘要:一.maven传递依赖 1.举个例子:A-->B,则B是A的直接依赖,若B-->C,则C是A的传递依赖,C-->D,D也是A的传递依赖,依次类推 2.在我们导入依赖时,maven会把我们导入包的直接依赖和传递依赖都导进来,这时候大家有没有思考过一个问题?假设A-->B,A-->C,B-->C,这种情
阅读全文
摘要:4种常见的结果处理方式:转发,重定向,转发到action,重定向到action
阅读全文
摘要:1.方式一 2.方式二 3.方式三(推荐)
阅读全文
摘要:图片出自:https://www.cnblogs.com/xu-cceed3w/p/8886453.html
阅读全文
摘要:自从学了maven才知道以前导的jar包全是java工程,真是涨姿势了 学习从本地仓库引入依赖时,涉及到一个属性scope,刚开始对这个属性一脸茫然,通过我反复地看视频和查资料才逐渐理解,下面来说下: 1.scope依赖范围:具体的讲是,jar包提供或作用的范围,这个范围说白了是项目的生命周期各阶段
阅读全文
摘要:在eclipse环境中使用maven,是要安装maven插件的;不过eclipse中已经集成了maven插件,可以到window --> preferences查看: 在使用之前,我们检查两个配置先,如图操作: 一.创建第一个maven项目 GroupID,ArtifactID,Version组合称
阅读全文
摘要:一.Maven是什么? 1.Maven是apache提供的一个开源项目,纯java开发,只用来管理Java项目,即项目管理的工具 PS:它是纯java开发的,所以它的使用必须依赖JDK的 二.Maven管理的项目有什么好处? 1.依赖管理;同一个java项目,代码,配置等全一样,但如果让maven来
阅读全文
摘要:内连接查询返回一个Object数组类型的集合,数组中装载着两个对象 迫切内连接是customer对象关联的linkman对象作为自己的属性封装起来
阅读全文
摘要:一.在多对多关系,如果双方都维护外键会抛出异常,因为双方维护外键的方式是插入,这将导致主键冲突,所以必须有一方来放弃对外键的维护(在一对多关系时,一方对多方外键的维护时通过update,所以不会冲突)
阅读全文
摘要:1.表中关系 2.对象关系 3.映射文件表达
阅读全文
摘要:一.双方都在表达关系,无级联操作; 二.级联操作。只需增删改其中一方,与之关联的属性对象也会同步到数据库中;目的是为了简化操作 三.关系维护。默认双方都维护外键;如果一的一方放弃了关系维护,在类的代码上是可以不维护关联属性了,因为将关联对象添加到集合中,是为了同步到数据库时维护关联表的外键,若放弃对
阅读全文
摘要:一.表关系 二.对象关系 三.映射文件的关系
阅读全文
摘要:一.案例列举: 1.查询客户表,返回的每行数据用object数组装载,不会自动封装成对象 2.查询客户表,返回的数据封装成对象 3.条件查询 4.分页查询
阅读全文
摘要:一.Criteria查询 1.完全面向对象的方式操作数据库,不需要书写语句 二.案例列举: 1.查询所有实体对象 2.条件查询 3.分页查询 4.查询总记录数 三.hql,criteria,sql的使用场景
阅读全文
摘要:一.HQL查询语言 1.hql查询是hibernate自创的一门查询语言; 2.个人觉得跟sql有得一拼,hql是以面向对象方式来书写语句并操作数据库的,在hql语句中是不存在表名列名等数据库信息的,以类名和属性名的方式来操作 3.hql跟criteria相比,属于半面向对象方式,而criteria
阅读全文
摘要:一.事务并发问题和事务的隔离级别 二.如何在hibernate指定操作数据库时的事务隔离级别 1.如果没有开启事务,每一条sql语句相当一个事务 三.项目中如何管理事务?
阅读全文
摘要:一.缓存的好处 1.缓存的好处最主要是提高效率;在我们学习IO时,如果一个字节一个字节的读和写是效率低下的,缓冲区的作用就是用来提高运行的效率 2.缓存可以将之间获取过的数据存起来,下次若是取相同的数据内容时,不必向服务端发送请求,在缓存中拿一份即可 二.hibernate中的一级缓存 1.一级缓存
阅读全文
摘要:一.实体类的规范 1.必须有空参构造;用Hibernate向数据库获取数据并返回对象的过程中,实际是利用了反射机制创建对象,创建方式为空参构造 2.必须有属性 3.尽量使用包装类,能比基本类型多表示一个值null 4.实体类需要提供oid,与表的主键列对应(在hibernate中,对象是根据oid来
阅读全文
摘要:一.算法描述:给定一组元素,算法后为有序元素;第一轮指定第一个元素为最值,依次与该元素之后的元素比较,一轮过后第一个元素确定;第二轮指定第二个元素为最值,依次与该元素之后的元素比较,一轮过后第二个元素确定;依次类推; public class SfUtils { //第一种算法 public sta
阅读全文
摘要:相信很多人想开始做web项目了,这时候找了网上现成的web项目,无脑就往eclipse上导入,之后一大片红XX,嘻嘻~ 我在学习JavaWeb时也肯定也遇到,十分难受,毕竟是个小白白啥也不懂,下面就列举下常见的问题(不提供解决方案,人比较懒): 问题一:JDK版本不兼容; 1.可能你的jdk版本有点
阅读全文
摘要:一.用ssh开发模块的小功能时,感觉都形成了一种套路: 1.画图分析页面和三层架构之间的流程 2.开发web -> service -> dao,当然也可以反着来做,只要思路清晰,怎样都行 3.配置spring,struts 4.检查页面的路径,表单项的键,如果需要回显的话,在value进行回显操作
阅读全文
摘要:一.使用hiebrnate进行表设计 1.如果我们使用hibernate时,其实表的创建时不需要做的,只要在类设计和映射文件配置做好就行 2.如果数据库中新加入了一张表,这时候应该先分析orm三个步骤: (1)R:表关系,分析表与表之间的联系关系 (2)O:对象关系,分析类与类之间属性的关联 (3)
阅读全文
摘要:一.一般我们是希望在表单填写的各个信息都能提交到后台并封装成一个对象来处理 1.在页面上通过<input>元素的name属性指定参数名,如果是type="text",我们在文本框输入的值会被作为参数值进行提交;它的value属性一般都用来回显使用; 2.如果要进行回显操作,一般是从后台返回一个对象到
阅读全文
摘要:一.文件上传的表单页面3个要求: 1.表单上传方式必须为post 2.表单必须有enctype属性,值为multipart/form-data; 3.文件上传的<input>的name属性值必须要file 二.struts2的文件上传 1.在action中定义一个file类型的属性,属性名跟<inp
阅读全文