
Spring_SpringMVC_MyBatis
文章平均质量分 81
Spring_SpringMVC_MyBatis
EijoaHoaiQ:D
来日方长
展开
-
Spring常用注解汇总
Spring中的常用注解汇总。原创 2022-05-10 17:55:16 · 1085 阅读 · 0 评论 -
MyBatis之(七)MyBatis中常入的坑
七、MyBatis中常入的坑以我最近做的一个小项目Train为例进行总结,如有不对之处,欢迎指正!在mybatis映射文件中书写sql语句时:一定不要加分号!!!当在方法中传入多个参数时,必须使用@param注解!!在DML语言中,insert、update和delete语句在执行后一定要进行事务的提交,否则数据库数据不改变!!请求转发和重定向的区别转发:由服务器端内部执行机制进行的页面跳转,一般使用request作用域存储数据。重定向:由浏览器端进行的页面跳转,一般使用全局作用域s原创 2021-07-14 11:22:42 · 657 阅读 · 2 评论 -
MyBatis之(六)MyBatis通过调用Oracle存储过程实现查询
六、MyBatis通过调用Oracle存储过程实现查询相关的表:Emp(有9个字段)相关的实体类:Emp.javapackage cn.ebuy.pojo;import java.util.Date;import java.util.List;public class Emp { private int empno; private String ename; private String job; private String mgr; pri原创 2021-07-14 10:07:08 · 407 阅读 · 2 评论 -
MyBatis之(五)Mybatis中的关联关系映射
五、MyBatis中的关联关系映射5.1 什么是关联关系映射?关联关系是面向对象分析、面向对象设计最重要的知识。合理的关联关系将大大简化持久层数据的访问。关联关系大致分为以下几类:一对一一对多多对一多对多5.2 一对一关联关系映射以qqUser表和baseInfo表为例,一个qq号对应一个用户信息表,这就是我们所说的一对一关联关系。已知QQUser实体类中包含了这5个属性值和其映射的实体类对象:BaseInfo实体类中包含了这8个属性值:qquser映射到baseinfo原创 2021-07-07 21:54:02 · 355 阅读 · 1 评论 -
MyBatis之(四)动态SQL
四、动态SQL4.1 动态SQL概述动态SQL就是根据用户输入的参数等来确定SQL语句,实现增删改查功能,同时也解决了PL/SQL中不支持DDL语句的问题。通过动态SQL可以提高程序运行的灵活性,使我们可以方便地实现多条件下对数据库进行操作,简单来讲,就是通过不同的判断条件执行不同的sql语句就是动态sql。举个例子:就58同城找房子而言,用户可能会去指定查找面积,楼层,所在位置来查找房源,可能会指定价格,户型来查找,这时候用户所使用指定的条件就是用动态sql语句去查找的。动态SQL是基于OGNL原创 2021-07-07 20:45:03 · 157 阅读 · 0 评论 -
MyBatis之(三)SQL映射文件
三、SQL映射文件3.1 SQL映射文件概述MyBatis真正强大之处就在于SQL映射语句,这也正是它的魅力所在。相对于它强大的功能,SQL映射文件的配置却非常简单。我们在比对SQL映射配置和JDBC代码时会发现用SQL映射文件配置可减少50%以上代码量,并且MyBatis专注于SQL,对于开发人员来说,也可极大限度地进行SQL调优,以保证性能。3.2 SQL映射文件组成SQL映射文件的关键就是增删改查,最主要的就是查,其次才是增删改。mapper-namespace namespace表原创 2021-07-06 21:30:31 · 173 阅读 · 2 评论 -
Mybatis之(二)Mybatis基本要素
二、Mybatis基本要素2.1 SqlSessionFactoryBuilder每一个mybatis的应用程序的入口是SqlSessionFactoryBuilder,它的作用是通过XML配置文件创建Configuration对象,然后通过build方法创建SqlSessionFactory对象,一般使用全局。它有五个方法build()方法,每一种都允许你从不同的资源中创建一个SqlSession实例。SqlSessionFactory build(InputStream inputStream)原创 2021-07-05 21:30:34 · 187 阅读 · 2 评论 -
Mybatis之(一)搭建Mybatis环境
一、搭建Mybatis环境1.1 导入相关jar包(Mybatis、Oracle、log4j、Junit等)在一个maven项目中导入jar包,只用在pom.xml文件里导入相关的jar包即可。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst原创 2021-07-05 18:06:17 · 177 阅读 · 0 评论 -
Spring MVC之(四)java中的单例模式
四、java中的单例模式4.1 单例模式的概述单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。4.2 单例模式的五种写法单原创 2021-07-22 21:12:02 · 310 阅读 · 10 评论 -
Spring MVC之(三)Spring MVC中静态资源的引用和异常处理
三、Spring MVC中静态资源的引用和异常处理3.1 静态资源的引用在Spring MVC的web.xml文件中配置前端控制器映射时,会限定拦截的页面,这些显示的页面一般都是动态的,要想让静态页面的资源也可以使用,我们就不得不配置静态资源的引用,在引用时只需在Spring MVC核心配置文件中配置即可:<!--静态资源的引用--><mvc:resources mapping="/css/*" location="/css/"/><mvc:resources map原创 2021-07-22 20:25:23 · 249 阅读 · 6 评论 -
Spring MVC之(二)Spring MVC的核心类和常用注解
二、Spring MVC的核心类和常用注解2.1 Spring MVC的核心类—DispatcherServlet在前面的Spring MVC的工作流程中我们知道前端控制器(DispatcherServlet)在整个开发过成中发挥了不可或缺的作用。DispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充当这前端控制器的角色,在使用时只需将其配置在项目的web.xml文件中即可:<?xml vers原创 2021-07-22 17:45:41 · 609 阅读 · 10 评论 -
Spring MVC之(一)初识Spring MVC
一、初识Spring MVC1.1 Spring MVC概述Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架,是一种基于java的实现请求驱动类型(使用请求-响应模型)的轻量级框架,即使用了MVC架构模式的思想,将web层进行职责解耦,以便简化我们的开发。它与Struts 2框架一样,都属于MVC框架,但其使用和性能等方面比Struts 2更加优异。Spring MVC即Model(模型)—View(视图)—Controller(控制器)三元组,其工作状态一般原创 2021-07-22 16:08:45 · 347 阅读 · 11 评论 -
Spring与MyBatis框架整合
Spring与MyBatis框架整合环境搭建准备所需要的jar包要实现MyBtis与Spring的整合,很明显需要这两个框架的jar包,但是只使用这两个框架中所提供的jar包很明显是不够的,还需要其他的jar包来配合使用。<dependencies> <!--Spring核心jar包--> <dependency> <groupId>org.springframework</groupId>原创 2021-07-20 22:27:14 · 162 阅读 · 7 评论 -
Spring之(十一)Spring事务管理机制
十一、Spring事务管理机制在spring中事务是自动提交的,但是我们在操作数据的时候,总有些业务流程需要事务控制。在实际开发中,操作数据库时还会涉及到事务管理的问题,为此Spring提供了专门用于事务处理的API,Spring事务管理简化了传统的事务管理流程,并在一定程度上减少了开发者的工作量。在项目中,业务层(Service层)既是处理业务的地方,业务层编写又是管理数据库事务的地方,要对事务进行测试,首先创建业务层,并在业务层编写相关的业务代码。以银行转账为例:张三账户上有100块钱,李四账户上原创 2021-07-21 23:11:20 · 542 阅读 · 11 评论 -
Spring之(十)AspectJ开发
十、AspectJ开发AspectJ是一个基于Java语言的AOP框架,它提供了强大的AOP功能。10.1 基于xml的声明式AspectJ基于xml的声明式AspectJ是通过写满了文件来定义切面、切入点以及通知,所有的切面、切入点和通知都必须定义在aop:config元素内。注意:Spring配置文件中的beans元素下可以包含多个aop:config元素,一个aop:config元素又可以包含属性和子元素,其子元素包括pointcut、advisor和aspect。在配置时,这3个子元素必原创 2021-07-18 19:04:58 · 248 阅读 · 1 评论 -
Spring之(九)基于代理类的AOP实现
九、基于代理类的AOP实现9.1 Spring的通知类型Spring中的通知按照在目标类方法的连接点位置,可以分为以下5种类型:org.aopalliance.intercept.MethodInterceptor(环绕通知):在目标方法执行前后实施增强,可以应用于日志、事务管理等功能;org.springframework.aop.MethodBeforeAdvice(前置通知):在目标方法执行前实施增强,可以应用于权限管理等功能;org.springframework.aop.AfterRe原创 2021-07-18 18:09:16 · 211 阅读 · 4 评论 -
Spring之(八)Spring中的AOP(面向切面编程)
八、Spring中的AOP8.1 什么是AOP?AOP的全程是Aspect-Oriented Programming,即面向 切面编程(也称面向方面编程)。它是面向对象编程(OOP)的一种补充,目前已经成为一种比较成熟的编程方式。问题:在传统的业务处理代码中,通常都会进行事务处理、日志记录等操作。虽然使用OOP可以通过组合或者继承的方式来达到代码的重用,但如果要实现某个功能(比如日志记录等),同样的代码仍然会分散到各个方法中。如果想要关闭某个功能,或者对其进行修改,就必须要修改所有的相关方法,显然,这原创 2021-07-18 17:16:38 · 385 阅读 · 4 评论 -
Spring之(七)Spring中的动态代理
七、Spring中的动态代理7.1 什么是代理?代理就是指为一个目标对象提供一个代理对象, 并由代理对象控制对目标对象的引用。使用代理对象, 是为了在不修改目标对象的基础上, 增强目标对象的业务逻辑。7.2 为什么要使用代理?没有使用代理时:package cn.noProxy;import java.util.logging.Level;import java.util.logging.Logger;public class Chinese { public static voi原创 2021-07-17 21:06:23 · 141 阅读 · 0 评论 -
Spring之(六)Bean的装配方式
六、Bean的装配方式Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式。Spring容器支持多种形式的Bean的装配方式。6.1 基于XML的装配Spring提供了两种基于XML的装配方式:设值注入(setter方式注入)和构造注入。Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值。因此,设值注入要求一个Bean必须满足以下两点要求:Bean类必须提供一个默认的原创 2021-07-17 19:00:56 · 315 阅读 · 6 评论 -
Spring之(五)Bean的作用域和生命周期
五、Bean的作用域和生命周期5.1 Bean的作用域Spring为Bean的实例定义了7中作用域:作用域名称说明singleton(单例)使用singleton定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象。这也是Spring容器默认的作用域prototype(原型)每次通过Spring容器获取的prototype定义的Bean时,容器都将创建一个新的Bean实例request在一次HTTP请求中,容原创 2021-07-16 21:34:08 · 182 阅读 · 0 评论 -
Spring之(四)Bean的配置及实例化
四、Bean的配置及实例化4.1 Bean的配置Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean。如果需要在项目中使用这个工厂,就需要我们对Spring的配置文件进行配置。Spring容器支持XML和Properties两种格式的配置文件,在实际开发中最常使用的就是XML格式的配置方式,这种配置方式通过XML文件来注册并管理Bean之间的依赖关系。在Spring中,XML配置文件的根元素是beans,beans中包含了多个bean子元素,每一个bean子原创 2021-07-16 18:28:36 · 694 阅读 · 8 评论 -
Spring之(三)用Spring改造打印机
三、用Spring改造打印机问题描述:打印机是由墨盒和纸张确定的,墨盒中又有不同的颜色,纸张中又有不同的纸张类型,打印机通过墨盒的颜色来确定要打印的颜色,根据纸张的类型来确定打印纸张的类型。问题分析:由于墨盒颜色和纸张类型的不同,我们可以定义相关的接口及实现类来实现。墨盒接口:定义一个getInk()方法,并定义其不同颜色的实现类;纸张接口:定义putInChar()方法和getContent()方法,并定义其不同类型纸张的实现类。代码演示:接口package cn.printer.fac原创 2021-07-13 09:01:09 · 589 阅读 · 2 评论 -
Spring之(二)依赖注入(控制反转)
二、依赖注入(控制反转)2.1 Spring框架的核心功能Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象被称为Bean;Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为“依赖注入”的方式来管理Bean之间的依赖关系。2.2 理解依赖注入不管是依赖注入还是控制反转,其含义相同。当某个Java对象(调用者)需要调用另一个Java对象(被依赖对象)的方法时,在传统模式下通常有两种做法:原始做法:调用者主动创建被依赖对象,然后再调用被原创 2021-07-12 22:51:04 · 342 阅读 · 1 评论 -
Spring之(一)初识Spring
一、初识Spring1.1 Spring简介Spring:Spring框架由Rod Johnson开发。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。Spring的优点: 低侵入式设计,代码的污染极低。 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。 Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间原创 2021-07-12 21:41:26 · 360 阅读 · 17 评论