
JavaEE
文章平均质量分 92
Java后台从入门到精通
Teacher.Hu
专注Android技术、渗透测试技术
展开
-
【Mybatis】动态SQL最全解析
本文目录引用if 标签查询条件接口方法动态 SQL测试代码choose(when、otherwise) 标签动态 SQL测试代码where标签set 标签动态SQL测试代码trim标签foreach 标签接口方法动态SQL测试代码collection 值的指定bind 标签引用在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。 MyBatis 动态 SQL 的出现, 解决了这个麻烦。Mybatis提供了动态SQL,可以根据用户提供的参数,动态决定查询语句依赖的查询条件或原创 2020-08-11 20:38:23 · 1686 阅读 · 0 评论 -
【Mybatis】级联查询之多对多级联查询
目录引言创建工程和数据库表创建实体类和数据库操作接口Order 类Product 类OrderMapper 类ProductMapper 类创建配置文件mybatis-config.xmlOrderMapper.xmlProductMapper.xml添加测试代码引言在Mybatis中,多对多的级联查询通常会转成两个一对多级联查询来实现应用场景举例:用户与商品之间的关系为多对多, 一个订单可以有多种商品,使用一个中间表(订单记录表)就可以将多对多级联转换成两个一对多的关系创建工程和数据库表创建Sp原创 2020-08-11 00:13:24 · 1606 阅读 · 0 评论 -
【Mybatis】级联查询之一对多级联查询
目录引言创建工程和数据库表创建实体类和数据库操作接口Order 类User类UserMapperOrderMapper创建配置文件mybatis-config.xmlOrderMapper.xmlUserMapper.xml方法1方法2添加测试代码引言与前面介绍的一对一相比 Mybatis】级联查询之一对一级联查询,在实际开发中接触最多的还是一对多的关联关系。应用场景举例:用户与订单之间的关系为一对多,即一个用户可以有多个订单,而一个订单只属于一个用户。创建工程和数据库表创建Spring整合My原创 2020-08-10 23:14:18 · 1486 阅读 · 0 评论 -
【Mybatis】级联查询之一对一级联查询
本文目录引言创建工程和数据库表创建实体类和数据库操作接口IdCard 类User类IdCardMapperUserMapper创建配置文件mybatis-config.xmlIdCardMapper.xmlUserMapper.xml方法1方法2方法3添加测试代码引言前面讲resultMap元素时, 【Mybatis】配置映射文件之resultMap元素和resultType元素,该元素包含了一个子元素association,Mybatis 主要通过该元素处理一对一关联关系。association原创 2020-08-10 18:04:46 · 1408 阅读 · 0 评论 -
【Mybatis】Mybatis常见的分页实现方法
本文目录引言关键字limit实现分页第一步:增加分页实体类第二步:增加分页方法第三步:测试代码Interceptor Plugin实现分页PageHelper实现分页引言后台查询数据的时如果数据量较多需要对数据进行分页处理,Mybatis有多种方法能够实现数据分页, 最简单的就是利用原生的sql关键字limit来实现分页,也可以利用interceptor来拼接sql实现分页功能,还可以利用PageHelper开源框架来实现分页。关键字limit实现分页首先创建一个Mybatis工程 【Spring】原创 2020-08-10 14:20:43 · 38855 阅读 · 1 评论 -
【Mybatis】配置映射文件之resultMap元素和resultType元素
resultMap概述resultType元素使用pojo类存储结果使用集合存储结果使用Map存储结果集resultMap映射结果集resultMap概述resultMap是Mybatis映射文件中最重要最强大的元素。它描述如何从结果集中加载对象,主要作用是定义映射规则、级联的更新、定制类型转化器。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来, 并在一些情形下允许你做一些 JDBC 不支持的事情。 实际上,在对复杂语句进行联合映射的时候,它很可能可以代替数千行的同等.原创 2020-08-10 11:57:10 · 1314 阅读 · 0 评论 -
【Java】JDBC的使用详解
JDBC概述Java使用JDBC详细步骤1、加载数据库驱动2、获得数据库链接3、执行SQL语句方法1:Statement方法2:PreperedStatement4、获取结果5、释放资源完整代码JDBC概述JDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、新增、更新和删除等操作。说白了就是用Java语言来操作数据库。原来我们操作.原创 2020-08-07 23:29:18 · 1361 阅读 · 0 评论 -
【Mybatis】配置映射文件之insert元素及主键生成策略
本文目录insert元素数据库支持自动生成主键数据库不支持自动生成主键insert元素在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能。insert`语句常用的几个属性如下:parameterType 表示传入SQL语句句的参数类型,它可以是基本数据类型(如int,String,Date等),基本数据类型传参,只能传入一个,在SQL语句中通过#{参数名} 即可获取传入的值。也可以是复杂原创 2020-08-07 22:27:07 · 1572 阅读 · 0 评论 -
【Mybatis】配置映射文件之parameterType用法小结
本文目录parameterType概述简单类型用法创建Mybatis工程用法和测试结果pojo的包装类型HashMap类型用法parameterType概述在Mybatis配置映射文件中,select,insert,update,delete等元素支持parameterType属性。parameterType只要功能用来指定输入参数的类型,类型可以是简单类型、HashMap类型、pojo的包装类型。简单类型用法创建Mybatis工程首先创建一个Mybatis工程 【Mybatis】Mybatis原创 2020-08-07 20:50:50 · 2285 阅读 · 0 评论 -
【SpringMVC】表单库标签
本文目录创建工程引入标签库Controller表单标签form标签input标签password标签hidden标签textarea标签checkbox标签checkboxes标签radiobutton标签select、option、options标签errors标签SpringMVC 提供了一些标签库,可以帮助我们实现数据绑定。使用方法如下创建工程参考 【SpringMVC】SpringMVC入门实例创建一个SpringMVC工程创建完工程工程目录如下:在pom.xml中引入标签库 <原创 2020-08-06 10:36:34 · 706 阅读 · 0 评论 -
【SpringMVC】拦截器使用详解
本文目录拦截器概述过滤器和拦截器区别拦截器的使用创建工程和添加相关文件添加SpringMVC提供的拦截器接口:HandlerInterceptor配置拦截器拦截所有Controller类里的所有处理方法只拦截某个请求路径的处理方法拦截器概述SpringMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。过滤器和拦截器区别过滤器:依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一原创 2020-08-05 23:50:34 · 8450 阅读 · 0 评论 -
【SpringMVC】统一异常处理使用详解
本文目录统一异常处理概述创建工程和添加相关文件jsp页面自定义异常类ExceptionControl404统一处理异常处理方法方法1:使用SimpleMappingExceptionResolver实现异常处理方法2:使用HandlerExceptionResolver 接口实现异常处理方法3:使用@ExceptionHandler注解实现异常处理;统一异常处理概述在项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处原创 2020-08-05 18:27:27 · 2475 阅读 · 1 评论 -
【SpringMVC】文件上传和下载使用详解
本文目录文件上传第一步:创建SpringMVC工程第二步:添加页面表单信息第三步:Controller中接收数据文件下载方法1:基于ResponseEntity实现方式2:Java通用下载实现文件上传第一步:创建SpringMVC工程参考 【SpringMVC】SpringMVC入门实例创建一个SpringMVC工程创建好的工程目录如下:在pom.xml文件中添加文件上传相关的依赖包 <dependency> <groupId>commons-fil原创 2020-08-05 16:33:10 · 761 阅读 · 1 评论 -
【SpringMVC】RESTful接口开发
本文目录RESTful二级目录三级目录SpringMVC 除了支持JSON数据交互外,还支持RESTful风格的编程RESTfulRestful(Representational State Transfer)风格的API是一种软件架构风格,是Roy Fielding博士在2000年他的博士论文中提出,之后REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。RESTful架构的主要原则网络上的所有事物都被抽象为资源每个资源都有一个唯一的资源标识符同一个资源原创 2020-08-05 14:57:16 · 1584 阅读 · 1 评论 -
【SpringMVC】服务器端数据校验
本文目录数据校验概述数据校验过程第一步:创建SpringMVC工程第二步:注册校验器第三步:Controller中添加校验第四步:测试运行数据校验概述数据校验就是用来验证用户输入的数据是否合法,比如用户登录时,用户名不能为空,或者不能超出指定长度等要求。数据校验分为客户端校验和服务端校验。客户端校验一般通过js校验。但客户端校验往往容易有人绕过页面,就会出现非法数据,所以服务端也要数据校验。服务端校验通常使用hibernate的校验框架。数据校验过程第一步:创建SpringMVC工程参考 【S原创 2020-08-05 13:48:20 · 974 阅读 · 1 评论 -
【SpringMVC】JSON数据交互详解
本文目录JSON简介响应JSON数据第一步:创建工程第二步:创建Controller第三步:测试运行接收JSON请求数据JSON简介JSON数据结构一种与开发语言无关的、轻量级的数据存储格式,全称JavaScript ObjectNotation,一种数据格式的标准规范,起初来源于JavaScript这门语言,后来随着使用的广泛,几乎每门开发语言都有处理JSON的API 。优点:易于人的阅读和编写,易于程序解析与生产,它相比xml格式的数据结构,占用的数据控件更小。响应JSON数据目前Java有原创 2020-08-04 23:45:22 · 1744 阅读 · 0 评论 -
【SpringMVC】Controller注解及请求参数详解
本文目录Controller注解Controller 注解用法Controller 接收请求参数通过形参接收请求参数通过实体Bean 接收参数通过HttpServletRequst接收请求参数通过RequestParam注解接收请求参数PathVariable注解接收请求参数Controller注解在Spring中 Controller注解用于指示Spring类的实例是一个控制器,相对于实现Controller接口变得更加简单。而且实现Controller接口只能处理一个单一的请求,而是用@Contro原创 2020-08-03 12:49:52 · 21800 阅读 · 1 评论 -
【Mybatis】MyBatis Generator插件自动生成代码
本文目录第一步:创建mybatis maven工程第二步:完善功能目录第三步:generatorConfig.xml第四步:运行使用MyBatis Generator插件能自动生成MyBatis开发所需的Dao、实体类和映射文件,提高开发效率,使用过程如下:第一步:创建mybatis maven工程参考【Mybatis】Mybatis开发入门程序创建一个maven工程。在pom.xml的添加dependencies节点下添加 <dependency>原创 2020-08-02 23:17:54 · 1374 阅读 · 0 评论 -
【Spring】Spring 事务之声明式事务
Spring 的声明式事务管理是建立在 Spring AOP 机制之上的,其本质是对目标方法前后进行拦截,并在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。原创 2020-08-02 17:54:39 · 777 阅读 · 0 评论 -
【Spring】Spring 事务之编程式事务
本文目录事务概述事务概述数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。事务是数据库运行中的逻辑工作单位,由DBMS中的事务管理子系统负责事务的处原创 2020-08-02 16:45:54 · 871 阅读 · 0 评论 -
【Spring】Spring JDBC配置与使用
本文目录Spring JDBCSpring JDBC 示例第一步:创建maven工程和数据库表第二步:创建dao层第三步:添加Spring配置文件第四步:测试代码和运行结果Spring JDBCSpring JDBC 框架负责所有的低层细节,从开始打开连接,准备和执行 SQL 语句,处理异常,处理事务,到最后关闭连接。大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库操作中解脱出来,从而将更多的精力投入到编写业务逻辑中。Spring框架提供了JdbcTemplate类,该类是Spring原创 2020-08-01 23:38:55 · 9466 阅读 · 1 评论 -
【Spring】AOP实现之AspectJ框架
本文目录AspectJ 框架概述基于XML配置实现创建Spring工程创建目标接口和实现类创建切面类Spring配置文件测试代码和运行结果基于注解实现目标接口和实现类切面类Spring配置文件测试代码推荐阅读: 【Spring】AOP详解AspectJ 框架概述AspectJ 是基于Java的一个AOP框架,其实现方式比起Java动态代理更为简捷,使用更为方便,而且还支持注解式开发。在Spring中使用AOP开发时,一般推荐使用AspectJ的实现方式。aspectJ中的通知类型通知描述原创 2020-07-30 21:18:52 · 881 阅读 · 0 评论 -
【Spring】AOP详解
本文目录AOP概述Spring基于代理类AOP实现前置通知返回后通知环绕通知异常通知AOP概述AOP(Aspect-Oriented Programming)面向切面编程,是Spring框架体系结构中重要的功能模块,在代码执行过程中,动态嵌入其他代码,通常使用在如日志、事务处理、异常处理等场景。AOP 术语术语描述切面切面泛指交叉业务逻辑。比如事务处理、日志处理就可以理解为切面。常用的切面有通知与顾问。实际就是对主业务逻辑的一种增强织入织入是指将切面代码插入到目标对象的原创 2020-07-30 17:28:57 · 660 阅读 · 0 评论 -
Spring汇总篇【Spring,SpringMVC,Mybatis】
工具和环境篇maven 环境变量和仓库配置IntelliJ全家桶IDEA 2020.1激活方式(审核不通过)Spring 篇Spring MVC篇Mybatis 篇SpringBoot篇SpringCloud篇原创 2020-07-28 23:04:06 · 2021 阅读 · 0 评论 -
【Spring】 Spring Beans 自动装配
本文目录自动装配概述自动装配模式byName创建dao创建ServiceSpring配置文件自动装配概述前面【Spring】Spring 依赖注入 学会如何使用bean元素来声明 bean 和通过使用 XML 配置文件中的和元素来注入 。Spring 容器可以在不使用和 元素的情况下自动装配相互协作的 bean 之间的关系,这有助于减少编写一个大的基于 Spring 的应用程序的 XML 配置的数量。自动装配模式Spring提供了5中自动装配的模式模式描述no这是默认的设置原创 2020-07-28 23:00:16 · 509 阅读 · 0 评论 -
【Spring】基于注解的装配方式
本文目录基于xml装配基于注解装配基于xml装配基于注解装配原创 2020-07-28 22:38:53 · 4004 阅读 · 1 评论 -
【Spring】Spring 依赖注入
本文目录依赖注入基于构造方法的依赖注入创建Spring工程创建dao创建ServiceSpring配置文件添加测试代码基于setter方法的依赖注入依赖注入Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系。依赖注入使用Spring框架创建对象时动态地将其所依赖的对象注入Bean中,一般常见的依赖注入方式有构造方法注入和setter方法注入。基于构造方法的依赖注入创建Spring工程【Spring】Spring入门案例创建daoUserDao接口代码public原创 2020-07-28 17:50:19 · 590 阅读 · 0 评论 -
IDEA中用maven创建的Servlet项目
本文目录第一步:创建maven工程第二步:添加依赖包第三步:创建servlet第四步:运行程序添加Tomcat运行Tomcat第一步:创建maven工程在idea中点击File->New->Project ,选择maven工程注意选择以webapp结尾的maven项目修改项目的路径和包名修改maven配置文件地址和maven仓库地址maven 环境变量和仓库配置maven工程创建好了之后目录如下:默认创建的工程没有java、等文件,自己把相关文件夹和包创建一下第二原创 2020-07-28 16:01:25 · 6131 阅读 · 4 评论 -
Java代理模式之-静态代理和动态代理原理解析
本文目录代理模式概述静态代理模式抽象主题类真实主题类代理主题类测试代码动态代理JDK动态代理JDK动态代理原理解析Proxy.newProxyInstance方法getProxyClass0()方法WeakCache的get方法Factory的get方法ProxyClassFactory.apply()generateProxyClass方法generateClassFile代理模式概述代理模式是二十三种(Gof)代理模式中的一种结构型设计模式,在代理模式中一般有一个代理对象,代理对象给某个对象提供一个原创 2020-07-27 15:33:39 · 943 阅读 · 0 评论 -
【SpringMVC】SpringMVC入门实例
本文目录第一步:创建maven工程第二步:添加依赖包第三步:添加SpringMVC删除Spring增加SpringMVC第四步:添加配置文件applicationContext.xmldispatcher-servlet.xmlweb.xmllogin.jsp文件添加Controller第五步:运行程序添加Tomcat运行Tomcat第一步:创建maven工程在idea中点击File->New->Project ,选择maven工程注意选择以webapp结尾的maven项目指定项目原创 2020-07-23 12:10:41 · 2503 阅读 · 0 评论 -
【Spring】Spring整合Mybatis案例
本文目录第一步:创建maven工程第二步:添加依赖包第三步:创建数据库和实体类创建数据库创建实体类和Mapper类第四步:添加Mybatis配置文件mybatis-config.xmlUserMapper.xmlapplicationContext.xml第五步:添加测试代码Controller测试代码目录结构第一步:创建maven工程在idea中点击File->New->Project ,选择maven工程第二步:添加依赖包找到工程中的pom.xml文件,在文pom.xml文件的原创 2020-07-22 16:28:13 · 1476 阅读 · 0 评论 -
【Mybatis】Mybatis开发入门程序
本文目录第一步:创建maven工程第二步:添加依赖包第三步:创建数据库和实体类创建数据库创建实体类和Mapper类第四步:添加Mybatis配置文件mybatis-config.xmlUserMapper.xml添加测试代码第一步:创建maven工程在idea中点击File->New->Project ,选择maven工程第二步:添加依赖包找到工程中的pom.xml文件,在文pom.xml文件的dependencies节点下添加如下依赖包 <dependency>原创 2020-07-21 22:23:45 · 1147 阅读 · 0 评论 -
【Spring】Spring入门案例
本文目录用maven创建第一个Spring程序第一步:创建maven工程第二部:添加Spring依赖包第三步:Java代码第四步:测试代码用maven创建第一个Spring程序第一步:创建maven工程在idea中点击File->New->Project ,选择maven工程第二部:添加Spring依赖包找到工程中的pom.xml文件,在文pom.xml文件的dependencies节点下添加如下依赖包 <dependency> <groupId原创 2020-07-21 16:54:00 · 3679 阅读 · 1 评论 -
maven 环境变量和仓库配置
本文目录概述maven 下载maven 环境变量配置maven 本地仓库配置maven 远程仓库配置概述Maven 翻是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。,可以对 Java 项目进行构建、依赖管理。也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Ap原创 2020-07-04 18:03:34 · 15963 阅读 · 6 评论