企业级开发框架SSM
文章平均质量分 70
企业级开发框架SSM
enterpc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mybatis高级查询
1.ResutlMap属性建立对象关系映射resultType 如果实体的属性名与表中字段名一致,将查询结果自动封装到实体类中 ResutlMap 如果实体的属性名与表中字段名不一致,可以使用ResutlMap实现手动封装到实体类中1.1编写UserMapper接口public interface UserMapper { public List<User> findAllResultMap(); }1.2编写UserMapper.xml...转载 2021-05-27 18:32:45 · 176 阅读 · 0 评论 -
Mybatis简介
1.框架简介1.1三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查。 因为数据库访问的对象一般称为Data Access Object(简称DAO),所以有人把持久层叫做DAO 层。 业务层:主要根据功能需求完成业务逻辑的定义和实现。 因为它主要是为上层提供服务的,所以有人把业务层叫做Service层或Business层。 表现层:主要完成与最终软件使用用户的交互,需要有交互界面(.转载 2021-05-21 21:27:43 · 334 阅读 · 0 评论 -
Mybatis核心文件概述
1.MyBatis核心配置文件层级关系MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。配置文档的顶层结构如下:2.MyBatis常用配置解析1) environments标签数据库环境的配置,支持多环境配置(1)其中,事务管理器(transactionManager)类型有两种:-JDBC:这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。-MANAGED:这个配置几乎没做什么。它从来不...转载 2021-05-21 22:18:32 · 217 阅读 · 0 评论 -
Mybatis核心配置文件深入
1.plugins标签MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封 装,使用简单的方式即可获得分页的相关数据 开发步骤: ①导入通用PageHelper的坐标 ②在mybatis核心配置文件中配置PageHelper插件 ③测试分页数据获取①在pom.xml中导入通用PageHelper坐标 <!-- 分页助手 --> <depende...转载 2021-05-27 19:31:15 · 189 阅读 · 0 评论 -
MyBatis加载策略
1.什么是延迟加载?问题通过前面的学习,我们已经掌握了Mybatis中一对一,一对多,多对多关系的配置及实现,可以实现 对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的订单 信息。此时就是我们所说的延迟加载举个例子在一对多中,当我们有一个用户,它有个100个订单 :在查询用户的时候,要不要把关联的订单查出来? 在查询订单的时候,要不要把关联的用户查出来? 回答:在查询用户时,用户下的订单应该是,什么时候用,什么时候查询。 在查询订单时,订单所...转载 2021-05-28 18:05:07 · 199 阅读 · 0 评论 -
Mybatis映射文件深入
1返回主键应用场景 我们很多时候有这种需求,向数据库插入一条记录后,希望能立即拿到这条记录在数据库中的主键 值。1.1 方式一UserMapper接口 /* 添加用户:获取返回主键:方式一 */ public void saveUser(User user);UserMapper.xml <!--添加用户:获取返回主键:方式一--> <!-- useGeneratedKeys: 声明返回主键 ..转载 2021-05-27 19:16:15 · 126 阅读 · 0 评论 -
MyBatis注解
1.MyBatis常用注解这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了。我们先围绕一些基本的CRUD来学习,再学习复杂映射多表操作。@Insert:实现新增,代替了<insert></insert>@Delete:实现删除,代替了<delete></delete>@Update:实现更新,代替了<update></update>@Select:实现查.转载 2021-05-28 18:50:09 · 755 阅读 · 0 评论 -
Mybatis增删改查
1. 编写映射文件UserMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="userMapper"> <!--name转载 2021-05-21 21:59:42 · 183 阅读 · 0 评论 -
Mybatis快速入门
1.MyBatis开发步骤MyBatis官网地址:http://www.mybatis.org/mybatis-3/案例需求:通过mybatis查询数据库user表的所有记录,封装到User对象中,打印到控制台上步骤分析:1.创建数据库及user表2.创建maven工程,导入依赖(MySQL驱动、mybatis、junit)3.编写User实体类4.编写UserMapper.xml映射配置文件(ORM思想)5.编写SqlMapConfig.xm...转载 2021-05-21 21:53:10 · 177 阅读 · 0 评论 -
Mybatis的dao层开发使用
1.代理开发方式介绍采用 Mybatis 的基于接口代理方式实现持久层的开发,这种方式是我们后面进入企业的主流。基于接口代理方式的开发只需要程序员编写 Mapper 接口,Mybatis 框架会为我们动态生成实现类的对象。这种开发方式要求我们遵循一定的规范:Mapper.xml映射文件中的namespace与mapper接口的全限定名相同 Mapper接口方法名和Mapper.xml映射文件中定义的每个statement的id相同 Mapper接口方法的输入参...转载 2021-05-21 22:55:13 · 225 阅读 · 0 评论 -
MyBatis缓存
1.为什么使用缓存?当用户频繁查询某些固定的数据时,第一次将这些数据从数据库中查询出来,保存在缓存中。当用户再 次查询这些数据时,不用再通过数据库查询,而是去缓存里面查询。减少网络连接和数据库查询带来的损 耗,从而提高我们的查询效率,减少高并发访问带来的系统性能问题。一句话概括:经常查询一些不经常发生变化的数据,使用缓存来提高查询效率。像大多数的持久化框架一样,Mybatis也提供了缓存策略,通过缓存策略来减少数据库的查询次数, 从而提高性能。 Mybatis中缓存分为一级缓存,二级缓存...转载 2021-05-28 18:17:52 · 253 阅读 · 0 评论 -
Mybatis多表查询及嵌套查询
1.数据库表关系介绍关系型数据库表关系分为* 一对一 * 一对多 * 多对多举例 * 人和身份证号就是一对一 一个人只能有一个身份证号 一个身份证号只能属于一个人 * 用户和订单就是一对多,订单和用户就是多对一 一个用户可以下多个订单 多个订单属于同一个用户 * 学生和课程就是多对多 一个学生可以选修多门课程 一个课程可以被多个学生选修 * 特例一个订单只从属...转载 2021-05-27 21:30:04 · 557 阅读 · 0 评论 -
Mybatis的API概述
1.API介绍1.1SqlSession工厂构建器SqlSessionFactoryBuilder常用API:SqlSessionFactory build(InputStream inputStream)通过加载mybatis的核心文件的输入流的形式构建一个SqlSessionFactory对象Stringresource="org/mybatis/builder/mybatis-config.xml";InputStreaminputStream=Resources.ge...转载 2021-05-21 22:45:49 · 240 阅读 · 0 评论 -
Spring核心之IOC--快速入门
1.介绍需求:借助spring的IOC实现service层与dao层代码解耦合步骤分析:创建java项目,导入spring开发基本坐标 编写Dao接口和实现类 创建spring核心配置文件 在spring配置文件中配置 UserDaoImpl 使用spring相关API获得Bean实例2. 实现(1)创建java项目,导入spring开发基本坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="ht转载 2021-06-05 12:31:08 · 227 阅读 · 0 评论 -
javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify的解决办法
STACKTRACE: javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129) at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117) at jav...转载 2021-06-06 18:33:21 · 301 阅读 · 0 评论 -
AOP开发(基于XML方式)
1.基于XML的AOP开发1.1快速入门步骤分析:创建java项目,导入AOP相关坐标 创建目标接口和目标实现类(定义切入点) 创建通知类及方法(定义通知) 将目标类和通知类对象创建权交给spring 在核心配置文件中配置织入关系,及切面 编写测试代码1.2创建java项目,导入AOP相关坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM...转载 2021-06-07 09:30:45 · 305 阅读 · 0 评论 -
Spring JDBCTemplate & 声明式事务
1. JdbcTemplate是什么?JdbcTemplate是spring框架中提供的一个模板对象,是对原始繁琐的Jdbc API对象的简单封装.核心对象:JdbcTemplate jdbcTemplate = new JdbcTemplate(DataSource dataSource);核心方法:int update(); 执行增、删、改语句List<T> query(); 查询多个T queryForObject(); 查询一个new BeanProper转载 2021-06-07 11:15:47 · 187 阅读 · 0 评论 -
Spring的事务
1.Spring中的事务控制方式 Spring的事务控制可以分为编程式事务控制和声明式事务控制.编程式开发者直接把事务的代码和业务代码耦合到一起,在实际开发中不用。声明式开发者采用配置的方式来实现的事务控制,业务代码与事务代码实现解耦合,使用的AOP思想。2.编程式事务控制相关对象【了解】2.1PlatformTransactionManagerPlatformTransactionManager接口,是spring的事务管理器,里面提供了...转载 2021-06-07 13:14:02 · 325 阅读 · 0 评论 -
Spring核心之IOC--配置文件开发
1.Bean标签基本配置<bean id="" class=""></bean>用于配置对象交由Spring来创建。基本属性:id:Bean实例在Spring容器中的唯一标识class:Bean的全限定名默认情况下它调用的是类中的 无参构造函数,如果没有无参构造函数则不能创建成功。2.Bean标签范围配置<bean id="" class="" scope=""></bean>scope属性指对象...转载 2021-06-05 15:22:47 · 331 阅读 · 0 评论 -
DbUtils(IOC实战)
1.DbUtils是什么?DbUtils是Apache的一款用于简化Dao代码的工具类,它底层封装了JDBC技术.核心对象:QueryRunner queryRunner = new QueryRunner(DataSource dataSource);核心方法:int update(); 执行增、删、改语句T query(); 执行查询语句ResultSetHandler<T> 这是一个接口,主要作用是将数据库返回的记录封装到实体对象举个例子:查询数据库所.转载 2021-06-05 15:41:22 · 274 阅读 · 0 评论 -
Spring核心之IOC--注解开发
Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代 替xml配置文件可以简化配置,提高开发效率。1.Spring常用注解1.1介绍Spring常用注解主要是替代<bean>的配置 注解 说明 @Component 使用在类上用于实例化Bean @Controller 使用在web层类上用于实例化Bean ...转载 2021-06-05 16:15:54 · 359 阅读 · 0 评论 -
初识IOC
1.概述控制反转(Inverse Of Control)不是什么技术,而是一种设计思想。它的目的是指导我们设计出更加松耦合的程序。控制:在java中指的是对象的控制权限(创建、销毁)反转:指的是对象控制权由原来 由开发者在类中手动控制 反转到 由Spring容器控制举例说明:传统方式之前我们需要一个userDao实例,需要开发者自己手动创建 new UserDao();IOC方式现在我们需要一个userDao实例,直接从spring的IOC容器获得,对象的创建权交给了sp..转载 2021-06-05 10:55:06 · 212 阅读 · 0 评论 -
AOP开发案例--优化转账
1.AOP优化转账案例依然使用前面的转账案例,将两个代理工厂对象直接删除!改为spring的aop思想来实现。1.2 XML配置实现<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c.转载 2021-06-07 10:19:33 · 224 阅读 · 0 评论 -
AOP开发(基于注解的方式)
1. 快速入门步骤分析:创建java项目,导入AOP相关坐标 创建目标接口和目标实现类(定义切入点) 创建通知类(定义通知) 将目标类和通知类对象创建权交给spring 在通知类中使用注解配置织入关系,升级为切面类 在配置文件中开启组件扫描和 AOP的自动代理 编写测试代码1.1创建java项目,导入AOP相关坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.ap..转载 2021-06-07 09:58:32 · 376 阅读 · 0 评论 -
Spring集成web环境
1.ApplicationContext应用上下文获取方式应用上下文对象是通过 newClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写 ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。解决思路分析:在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应用启动 时,就加载Spring的配置文件,创建应用上下文对象App...转载 2021-06-07 13:23:46 · 246 阅读 · 0 评论 -
AOP概述
1. 初识AOP1. 1 什么是AOPAOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程AOP是 OOP(面向对象编程) 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高 程序的可重用性,同时提高了开发的效率。这样做的好处是:在程序运行期间,在不修改源码的情况下对方法进行功能增强 逻辑清晰,开发核心业务的时候,不必关注增强业务的...转载 2021-06-07 09:16:33 · 338 阅读 · 0 评论 -
Spring核心之IOC--相关API
1.API继承体系介绍Spring的API体系异常庞大,我们现在只关注两个BeanFactory和ApplicationContext2.BeanFactoryBeanFactory是 IOC 容器的核心接口,它定义了IOC的基本功能。特点:在第一次调用getBean()方法时,创建指定对象的实例BeanFactory beanFactory =new XmlBeanFactory(new ClassPathResource("applicationContext.xml...转载 2021-06-05 13:18:36 · 319 阅读 · 0 评论 -
Spring概述
1.Spring是什么Spring是分层的 Java SE/EE应用 full-stack(全栈式) 轻量级开源框架。提供了表现层 SpringMVC和持久层 SpringJDBCTemplate以及 业务层 事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。两大核心:以 IOC(InverseOfControl:控制反转)和 AOP(AspectOrientedProgramming:面向切面编程)为...转载 2021-06-05 10:15:44 · 258 阅读 · 0 评论 -
SpringMVC组件概述
1.SpringMVC的执行流程用户发送请求至前端控制器DispatcherServlet。 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如 果有则生成)一并返回给DispatcherServlet。 DispatcherServlet调用HandlerAdapter处理器适配器。 HandlerAdapter经过适配调用具体的处理器(Contr..转载 2021-06-08 08:38:48 · 146 阅读 · 0 评论 -
SpringMVC的响应
1.SpringMVC响应方式介绍页面跳转返回字符串逻辑视图 void原始ServletAPI ModelAndView返回数据直接返回字符串数据 将对象或集合转为json返回(任务二演示)2.返回字符串逻辑视图直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转到指定页面@RequestMapping("/returnString") public String returnString() { return "success";}3...转载 2021-06-08 09:20:37 · 199 阅读 · 0 评论 -
springmvc进阶
1.ajax异步交互Springmvc默认用MappingJackson2HttpMessageConverter对json数据进行转换,需要加入jackson的包;同时使用<mvc:annotation-driven />需要的依赖包: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId.转载 2021-06-08 20:37:10 · 254 阅读 · 0 评论 -
SpringMVC的请求
1.请求参数类型介绍客户端请求参数的格式是: name=value&name=value……服务器要获取请求的参数的时候要进行类型转换,有时还需要进行数据的封装SpringMVC可以接收如下类型的参数:基本类型参数 对象类型参数 数组类型参数 集合类型参数2.获取基本类型参数Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配。并且能自 动做类型转换;自动的类型转换是指从String向其他类型的转换。jsp:<a...转载 2021-06-08 09:07:37 · 266 阅读 · 0 评论 -
SpringMVC概述
1.MVC模式MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的开发思想。M(model)模型:处理业务逻辑,封装实体V(view) 视图:展示内容C(controller)控制器:负责调度分发(1.接收请求、2.调用模型、3.转发到视图)2.SpringMVC概述SpringMVC是一种基于 Java的实现 MVC设计模式的轻量级 Web框架,属于SpringFrameWork的后续产品,已经融合在 SpringWebFl...转载 2021-06-08 08:30:59 · 183 阅读 · 0 评论 -
SSM框架-多条件组合查询+分页
1. 需求分析需求:实现多条件分页组合查询2. UserVo编写package com.lagou.domain;import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;import java.util.List;public class UserVo { private Integer currentPage; private Intege转载 2021-06-27 18:22:09 · 805 阅读 · 0 评论 -
SSM框架-实现图片上传功能
1. 在springmvc.xml里配置文件解析器 <!--5.配置文件解析器--> <!-- 此处id为固定写法,不能随便取名--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="1048转载 2021-06-27 17:58:44 · 934 阅读 · 1 评论 -
Maven进阶使用(Maven聚合工程)
1. maven基础知识回顾1.1 maven介绍maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。 项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。1.2 maven的仓库类型本地仓库 远程仓库①maven中央仓库(地址:http://repo2.maven.org/maven2/)..转载 2021-06-27 17:52:33 · 288 阅读 · 0 评论 -
SSM框架-加密算法MD5的实现
1. 加密算法MD5介绍1、什么是MD5MD5加密全程是Message-Digest Algoorithm 5(信息-摘要算法),它对信息进行摘要采集,再通过一定的位运算,最终获取加密后的MD5字符串。2、MD5有哪些特点MD5加密的特点主要有以下几点:1、针对不同长度待加密的数据、字符串等等,其都可以返回一个固定长度的MD5加密字符串。(通常32位的16进制字符串);2、其加密过程几乎不可逆,除非维护一个庞大的Key-Value数据库来进行碰撞破解,否则几转载 2021-06-27 18:32:10 · 2298 阅读 · 0 评论 -
SSM框架-分页实现
1. 编写从前端接收的当前页码及每页显示条数的实体类PromotionAdVopackage com.lagou.domain;public class PromotionAdVO { //当前页 private Integer currentPage; //每页显示的条数 private Integer pageSize; public Integer getCurrentPage() { return currentPage;转载 2021-06-27 18:12:41 · 479 阅读 · 0 评论 -
SSM整合
1.需求和步骤分析需求:使用ssm框架完成对 account表的增删改查操作。步骤分析:准备数据库和表记录 创建web项目 编写mybatis在ssm环境中可以单独使用 编写spring在ssm环境中可以单独使用 spring整合mybatis 编写springMVC在ssm环境中可以单独使用 spring整合springMVC2.环境搭建(1)准备数据库和表记录CREATE TABLE `account` (`id` int(11) NOT NULL A..转载 2021-06-08 21:30:29 · 196 阅读 · 0 评论
分享