SSM
文章平均质量分 67
Remote_Li
这个作者很懒,什么都没留下…
展开
-
SpringMVC文件上传与下载
前期准备导入依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version></dependency><!--servlet-api导入3.0.1以上版本--><dependen.原创 2021-10-11 15:59:04 · 174 阅读 · 0 评论 -
SpringMVC拦截器
1. 概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能过滤器与拦截器的区别: 拦截器是AOP思想的具体应用过滤器:servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器:拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法, 如原创 2021-10-11 13:15:13 · 184 阅读 · 0 评论 -
Ajax用法
1. 简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术传统的网页(即不用ajax技术的网页),想要更新内容或者提交一个表单,都需要重新加载整个网页使用ajax技术的网页,通过在后台服务器进行少量的数据交换,就可以实现异步局部更新使用Ajax,用户可以创原创 2021-10-10 21:03:10 · 189 阅读 · 0 评论 -
SSM整合--以书籍管理为例(PageHelper分页)
1. 配置文件Mybatis配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!--配置数据源,交给Spring去做-原创 2021-10-09 14:43:29 · 191 阅读 · 0 评论 -
JSON格式
1. 什么是JSONJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语原创 2021-10-07 00:01:34 · 426 阅读 · 0 评论 -
SpringMVC数据处理及跳转
1. 结果跳转方式ModelAndView设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的页面页面:{视图解析器前缀} + viewName +{视图解析器后缀}<!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!原创 2021-10-06 21:05:09 · 202 阅读 · 0 评论 -
SpringMVC中RestFul风格
概念:Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制功能资源:互联网所有的事物都可以被抽象为资源资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作分别对应 添加、 删除、修改、查询传统方式操作资源:通过不同的参数来实现不同的效果!方法单一,post 和 gethttp://127.0.0.1/item/queryItem.action?id=1 ..原创 2021-09-28 18:28:53 · 97 阅读 · 0 评论 -
SpringMVC入门程序
配置版HelloSpringMVC导入依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <dependency>.原创 2021-09-28 13:41:15 · 116 阅读 · 0 评论 -
SpringMVC初识
1.1 概述Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-webSpring MVC的特点:轻量级,简单易学高效 , 基于请求响应的MVC框架与Spring兼容性好,无缝结合约定优于配置功能强大:RESTful、数据验证、格式化、本地化原创 2021-09-27 15:14:25 · 100 阅读 · 0 评论 -
Spring声明式事务
1. 事务把一组业务当成一个业务来做,要么都成功,要么都失败确保完整性和一致性事务的ACID原则:原子性一致性隔离性多个业务可能操作同一个资源,防止数据损坏持久性事务一旦提交,无论系统发生什么问题,结果都不会再被影响,被持久化的写到存储器中2. Spring中的事务管理声明式事务AOP编程式事务:需要在代码中进行事务管理(不推荐)导包<dependencies> <dependency> <grou原创 2021-09-26 18:49:55 · 105 阅读 · 0 评论 -
Spring整合Mybatis
方式一:使用SqlSessionTemplate进行整合导包<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <depe.原创 2021-09-26 17:53:28 · 111 阅读 · 0 评论 -
Spring面向切面编程AOP
9.1 什么是AOPAOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。9.2 AOP在Spring中的作用提供声明式事务;允许用户自定义切面横切关注点:跨越应用程原创 2021-09-26 15:05:39 · 97 阅读 · 0 评论 -
Spring代理模式
代理模式是Spring中AOP的底层原理1. 静态代理角色分析:抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真是角色,代理真实角色后,会做一些附属操作客户:访问代理对象的人代码步骤:接口//租房public interface Rent { void rent();}真实角色//房东public class Host implements Rent{ @Override public void rent(.原创 2021-09-23 18:07:34 · 111 阅读 · 0 评论 -
Spring使用JavaConfig实现配置
不使用Spring中的xml进行配置,全权交给Java进行处理JavaConfig是Spring的一个子项目,在Spring4之后,JavaConfig变成了核心功能编写实体类//这里的这个注解的意思是将这个类注册到容器中,被Spring接管@Componentpublic class User { private String name; public String getName() { return name; } @Value("12原创 2021-09-21 00:33:30 · 130 阅读 · 0 评论 -
Spring使用注解开发
在Spring4之后,要使用注解开发,必须要保证aop的包导入了使用注解需要导入context约束,增加注解的支持<?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:context="http:原创 2021-09-21 00:00:36 · 78 阅读 · 0 评论 -
Spring中Bean的自动装配
自动装配是Spring满足bean依赖的一种方式Spring会在上下文中自动寻找,并自动给bean装配属性在Spring中有三种装配的方式在xml中显示的配置在Java中显示的配置隐式的自动装配bean(重要)环境Person实体类拥有Cat和Dog两个属性1. byName或byType自动装配<bean id="cat" class="com.lrm.pojo.Cat"/><bean id="dog" class="com.lrm.pojo.Dog".原创 2021-09-18 22:33:52 · 127 阅读 · 0 评论 -
Spring依赖注入
依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器来注入1. 构造器注入控制反转IOC 例子即为构造器注入2. set方式注入(重点)环境搭建复杂类型public class Address { private String address; public String getAddress() { return address; } public void setAddress(String addre.原创 2021-09-18 15:58:47 · 110 阅读 · 0 评论 -
Spring配置
1. 别名<bean id="user" class="com.lrm.pojo.User"> <!--直接通过参数名来设置--> <constructor-arg name="name" value="Java"/></bean><!--别名,如果添加别名,可以使用这个别名取到对应的对象--><alias name="user" alias="userNew"/>2. Bean的配置<!--原创 2021-09-18 14:53:56 · 152 阅读 · 0 评论 -
Spring控制反转IOC
1. IOC理论推导本质:控制反转是一种设计思想,DI(依赖注入)是实现IOC的一种方式。没有IOC的程序中,我们使用面向对象编程,对象的创建与对象之间的依赖关系完全硬编码在程序中,对象的创建有程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了IOC是Spring框架的核心内容,使用多种方式来实现IOC,可以使用XML配置,可以使用注解,最新版的Spring也可以零配置实现IOCSpring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织原创 2021-09-18 14:19:44 · 122 阅读 · 0 评论 -
Spring入门
1. 简介Spring框架是以interface21框架为基础,经过重新设计并不断丰富其内涵的开源框架Spring理念:使现有的技术更加容易使用,本身就是一个大杂烩,整合了现有的技术框架官网:https://spring.io/projects/spring-framework#overview官方下载地址:https://repo.spring.io/ui/native/release/org/springframework/springGitHub:https://gith原创 2021-09-13 16:07:54 · 101 阅读 · 0 评论 -
Mybatis缓存
1. 简介什么是缓存?存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,直接从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率什么样的数据能使用缓存?经常查询并且不经常改变的数据2. Mybatis缓存Mybatis包含了一个非常强大的缓存特性,它可以非常方便的定制和配置缓存,缓存可以极大的提高查询效率Mybatis系统中默原创 2021-09-13 14:34:36 · 72 阅读 · 0 评论 -
Mybatis动态SQL
根据不同的条件生成不同的SQL语句所谓的动态SQL,本质还是SQL语句,只是在SQL层面执行了一个逻辑代码SQL文件CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客id',`title` VARCHAR(100) NOT NULL COMMENT '博客标题,`author` VARCHAR(30) NOT NULL COMMENT '博客作者,`create_time` DATETIME NOT NULL COMMENT '创原创 2021-09-08 16:49:05 · 77 阅读 · 0 评论 -
Mybatis复杂查询
SQL文件CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, "李老师"); CREATE TABLE `student` ( `id` INT(10) NOT NULL,原创 2021-09-07 17:37:28 · 77 阅读 · 0 评论 -
Lombok插件
在IDEA中安装Lombok插件在项目中导入Lombok的jar包<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.1..原创 2021-09-07 15:10:21 · 65 阅读 · 0 评论 -
Mybatis使用注解开发
注解在接口上实现@Select("select * from user")List<User> getUsers();需要在核心配置文件中绑定接口<mappers> <mapper class="com.lrm.dao.UserMapper"/></mappers>测试本质:反射机制实现底层:动态代理CRUD在工具类创建时实现自动提交事务public static SqlSession getSqlSess..原创 2021-09-07 14:49:54 · 65 阅读 · 0 评论 -
Mybatis分页
使用分页是为了减少数据的处理量1. 使用limit分页#语法select * from user limit startIndex,pageSize;select * from user limit n; #[0,n]使用Mybatis实现分页(本质还是SQL)接口//分页List<User> getUserByLimit(Map<String,Integer> map);Mapper.xml<select id="getUserByLim.原创 2021-08-27 20:45:02 · 84 阅读 · 0 评论 -
Mybatis日志
1. 日志工厂如果一个数据库的操作出现了异常,日志就是最好的排错助手,在Mybatis中具体使用哪一个日志实现需要在设置中指定**STDOUT_LOGGING:**标准日志工厂实现在mybatis-config.xml中配置<settings> <setting name="logImpl" value="STDOUT_LOGGING"/></settings>2. LOG4JLog4j是Apache的一个开源项目,通过使用Lo原创 2021-08-27 18:42:05 · 201 阅读 · 0 评论 -
Mybatis属性名和字段名不一致问题(resultMap)
1. 问题数据库中的字段字段名数据类型非空?主键?idint(20)√√namevarchar(30)pwdvarchar(30)实体类中的字段public class User { private int id; private String name; private String password; ...有参、无参、get/set、toString重写...}测试:解决方案:起原创 2021-08-27 17:25:42 · 125 阅读 · 0 评论 -
Mybatis配置解析
目录1. 核心配置文件2. 环境配置(environments)3. 属性(properties)4. 类型别名(typeAliases)5. 设置(settings)6. 其他配置7. 映射器(mappers)8. 作用域(Scope)和生命周期1. 核心配置文件mybatis-config.xmlMybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息configuration(配置):properties(属性)settings(设置)typeAliases(类型别原创 2021-08-26 16:00:50 · 114 阅读 · 0 评论 -
Mybatis之增删改查
Mapper.xml相关字段解释id:就是对应的namespace中的方法名resultType:sql语句执行的返回值类型parameterType:传递参数类型增删改需要提交事务3.1 namespacenamespace中的包名要和Dao/Mapper接口的包名一致!<mapper namespace="com.lrm.dao.UserMapper"></mapper>3.2 select编写接口//根据id查询用户User ge.原创 2021-08-25 14:32:51 · 72 阅读 · 0 评论 -
Mybatis入门
1. 简介1.1 什么是MybatisMyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foun原创 2021-08-24 18:18:59 · 65 阅读 · 0 评论