- 博客(22)
- 收藏
- 关注
原创 springmvc&参数绑定&异常处理&Json数据交互&上传图片
springmvc的高级参数绑定绑定数组 <c:forEach items="${itemList }" var="item"> <tr> <td><input type="checkbox" name="ids" value="${item.id}"/>&am
2018-06-24 19:52:30 1651
原创 SSM整合
springmvc与struts2不同1、springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器。2、springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。3、Struts采用值栈存储请求和响应的数据,通过OGNL存取...
2018-06-24 19:42:06 212
原创 springmvc$基本入门&三大组件&执行流程
SpringMVC介绍Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图:Springmvc处理流程SpringMVC的架构架构流程 - 1、用户发送请求至前端控制器DispatcherServlet - 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 - 3...
2018-06-24 19:29:36 1952
原创 Mybatis整合spring
整合思路 - 1、SqlSessionFactory对象应该放到spring容器中作为单例存在。 - 2、传统dao的开发方式中,应该从spring容器中获得sqlsession对象。 - 3、Mapper代理形式中,应该从spring容器中直接获得mapper的代理对象。 - 4、数据库的连接以及数据库连接池事务管理都交给spring容器来完成。整合需要的jar包 - 1、spring的jar包...
2018-06-24 19:21:51 134
原创 mybatis&输入,输出映射&一对一,一对多
输入映射和输出映射输入映射和输出映射Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。parameterType(接口方法的参数列表,输入类型)传递简单类型使用#{}占位符,或者${}进行sql拼接。(除order by等字段所需参数其他参数尽可能使用#{}这样可以避免SQL注入问题详解看下)LINK: h...
2018-06-16 12:42:01 284
原创 mybatis&代理开发&配置
原始Dao开发的问题原始Dao开发中存在以下问题: Dao方法体存在重复代码:通过SqlSessionFactory创建SqlSession,调用SqlSession的数据库操作方法 调用sqlSession的数据库操作方法需要指定statement的id,这里存在硬编码,不得于开发维护。Mapper动态代理方式开发规范 Mapper接口开发方法只需要程序员编写Mapper接口(相当于...
2018-06-16 11:27:15 309
原创 mybatis&原始开发
mybatis简介MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注...
2018-06-16 02:29:10 196
原创 spring&SSH整合
SSH整合Struts2和Spring的整合方式:Action类由Spring创建jar包:struts2的jar包:hibernate的jar包:spring的jar包:引入插件包 struts2-spring-plugin-2.3.24.jarAction交给Spring管理:将Action配置到Spring中. <!-- 配置Action --> <be...
2018-06-16 02:24:32 130
原创 spring&JDBC模板类&事务管理平台
Spring的JDBC的模板jar包:创建一个测试类: @Test // JDBC模板的基本使用: public void demo1(){ DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com...
2018-06-16 02:20:22 178
原创 spring&Junit测试&注解配置IOC和AOP以及事务
注解方式配置IOCjar包:引入相关配置文件log4j.propertiesapplicationContext.xml引入约束:spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html\xsd-configuration.html引入约束:(引入context的约束): <beans xmlns="http...
2018-06-16 02:13:13 633
原创 Spring&AOP&JDK和Cglib动态代理&AspectJ进行AOP开发(XML方式)
AOP概述AOP(面向切面编程)解决 OOP(面向对象编程) 中遇到的一些问题.是OOP的延续和扩展AOP最早由 AOP联盟 的组织提出的,制定了一套规范Spring将AOP思想引入到框架中,必须遵守AOP联盟的规范.AOP两种底层实现方式代理机制:Spring的AOP的底层用到两种代理机制: JDK的动态代理 :针对实现了接口的类产生代理. Cglib的动态代理...
2018-06-13 23:02:14 530
原创 spring&IOC&DL&基本配置
IOC控制反转&DL依赖注入控制反转(Inversion of Control,缩写为IOC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。 其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。 我们可以把IOC容器的工作模式看做是工厂模式的升华,可以把IOC容器...
2018-06-13 22:51:22 661
原创 struts2&拦截器
拦截器的概述拦截器,在AOP(Aspect-Oriented Programming,就是切面编程)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执...
2018-06-13 22:19:02 109
原创 struts2&获取请求&数据封装&EL表达式(OGNL表达式)获取值栈
原生的Servlet的API直接获取对象request,和response public class RequestActionDemo2 extends ActionSupport{ @Override public String execute() throws Exception { // 接收参数: Ht...
2018-06-13 22:12:13 218
原创 struts2&值栈概念&OGNL
OGNL表达式 OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。作用: - 1、支持对象方法调用,如xxx.doSomeSpecial(); - 2、支持类静态的方法调用和值访问...
2018-06-13 21:11:25 253
原创 Struts2&基本配置&使用
Struts2概述 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的...
2018-06-12 21:01:29 222
原创 hibernate&查询优化
hibernate延迟加载1. 延迟加载先获取到代理对象,当真正使用到该对象中的属性的时候,才会发送SQL语句,是Hibernate框架提升性能的方式2. 类级别的延迟加载 Session对象的load方法默认就是延迟加载 Customer c = session.load(Customer.class, 1L);没有发送SQL语句,当使用该对象的属性时,才发送SQL语句 使类级别的延迟加载失效 ...
2018-06-12 20:56:25 178
原创 hibernate&查询
Hibernate查询的几种方式 - 唯一标识OID的检索方式 session.get(对象.class,OID) - 对象的导航的方式 一般用于一对多,多对多,查询一方.getxxx().getxxx() - HQL的检索方式 Hibernate Query Language -- Hibernate的查询语言 - QBC的检索方式 Query By Criteria -- 条件...
2018-06-12 20:54:55 209
原创 hibernate&一对多&多对多
hibernate一对多配置 在一方javabean中添加一个Set集合,集合泛型为多方,将集合初始化(new),生成对应的get和set方法, 在javabean映射中配置: <set name="集合名称"> <key column="多方javabean的外键名称"/> <one-to-many class="多方javabean路径"/>..
2018-06-12 20:18:59 178
原创 hibernate&三种状态的对象&一级缓存&快照机制
持久化类概述1. Hibernate的持久化类 持久化类:Java类与数据库的某个表建立了映射关系.这个类就称为是持久化类. 持久化类 = Java类 + hbm的配置文件 持久化对象的三种状态Hibernate的持久化类的状态Hibernate为了管理持久化类:将持久化类分成了三个状态瞬时态:Transient Object 没有持久化标识OID, 没有被纳入到Session对象的管理. ...
2018-06-12 20:11:51 396
原创 Hibernate5.0安装&基本配置&基本使用
Hibernate概述 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将`POJO(javabean)`与数据库表建立映射关系,是一个全自动的`orm`框架,`hibernate`可以自动生成`SQL`语句,自动执行,使得`Java`程序员可以随心所欲的使用对象编程思维来操纵数据库。 `Hibernate`可以应用在任何使用`JDBC`的场合...
2018-06-12 18:37:52 1946
原创 hibernate5.0&映射配置文件&核心配置文件&数据更新丢失
映射文件基本配置约束需要对应版本查询 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/...
2018-06-12 18:23:43 692
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人