
SSM
文章平均质量分 78
交流学习
木鱼非鸟
把“坚持”坚持成习惯
展开
-
Mybatis知识小汇(13)——缓存(二级缓存)
文章目录二级缓存二级缓存二级缓存也叫全局缓存,一级缓存作用域太低,所以诞生了二级缓存基于namespace级别的缓存,一个名字空间对应一个二级缓存工作机制一个会话查询一条数据,这个数据就会被放在当前会话的一级缓存中如果当前会话关闭,一级缓存也就会消失,但是我们想要的是会话关闭时,一级缓存中的数据保存到二级缓存中新的会话查询信息,就可以从二级缓存中获取不同的mapper查询数据会放在自己对应的缓存(map)中步骤:开启全局缓存<settings> <原创 2021-02-17 11:52:51 · 162 阅读 · 0 评论 -
Mybatis知识小汇(12)——缓存(一级缓存)
文章目录缓存简介Mybatis缓存一级缓存缓存简介什么是缓存?存在内存中的临时数据将用户经常查询的数据放在缓存中,用户查询数据就不用从磁盘上查询,从而提供查询效率,解决了高并发系统性的问题为什么使用缓存?减少和数据库的交互次数,减少系统开销,提供系统效率什么样的数据能使用缓存?经过查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行原创 2021-02-17 11:13:52 · 129 阅读 · 0 评论 -
Mybatis知识小汇(11)——动态sql
文章目录动态sql搭建环境ifchoose、when、otherwisetrim、where、setsettrimsql片段foreach动态sql根据不同的条件生成不同的sql语句ifchoose (when, otherwise)trim (where, set)foreach搭建环境sql create table blog(id varchar(30) not null comment '博客id', title varchar(100)原创 2021-02-11 22:52:34 · 236 阅读 · 0 评论 -
Mybatis知识小汇(10)——复杂查询环境搭建 ( 一对多处理)
文章目录一对多处理(比如一个老师对应多个学生)测试环境搭建按照结果嵌套处理按照查询嵌套处理一对多处理(比如一个老师对应多个学生)测试环境搭建导入lombok实体类Teacher、Student@Data@AllArgsConstructor@NoArgsConstructorpublic class Student { private int id; private String name; private int tid;}@Data@AllArgs原创 2021-02-10 18:38:17 · 102 阅读 · 0 评论 -
Mybatis知识小汇(9)——复杂查询环境搭建 (多对一处理)
文章目录复杂查询环境搭建多对一处理(比如多个学生对应一个老师)测试环境搭建按照查询嵌套处理按照结果嵌套处理复杂查询环境搭建多对一处理(比如多个学生对应一个老师)sql:CREATE TABLE teacher( id INT PRIMARY KEY, NAME VARBINARY(20) DEFAULT NULL)ENGINE=INNODB DEFAULT CHARSET=utf8;INSERT INTO teacher VALUES(1,'卓中');CREATE TABLE studen原创 2021-02-10 17:39:16 · 226 阅读 · 0 评论 -
Mybatis知识小汇(8)——使用Lombok
Lombok安装Lombok插件导入lombok的jar包<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version></dependency>Features:@Getter and @Setter@Fi原创 2021-02-10 12:24:22 · 132 阅读 · 0 评论 -
Mybatis知识小汇(7)——使用注解开发
文章目录使用注解开发面向接口编程使用注解开发增删查改使用注解开发面向接口编程1.关于接口的理解。接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。接口的本身反映了系统设计人员对系统的抽象理解。接口应有两类:第一类是对一个个体的抽象,它可对应为一个抽象体(abstract class);第二类是对一个个体某一方面的抽象,即形成一个抽象面(interface);一个体有可能有多个抽象面。抽象体与抽象面是有区别的。2.设计接口的另一个不可忽视的因素是接口所处的环境(c原创 2021-02-09 20:06:19 · 129 阅读 · 0 评论 -
Mybatis知识小汇(6)——分页
文章目录分页limit实现分页RowBounds分页limit实现分页接口//分页查询List<User> getUserListByLimit(Map<String, Integer> map);UserMapper.xml<!-- 分页查询--><select id="getUserListByLimit" resultMap="userMap" parameterType="map"> select * from原创 2021-02-09 17:26:10 · 160 阅读 · 0 评论 -
Mybatis知识小汇(5)——日志
文章目录日志日志工厂LOG4J日志日志工厂如果一个数据库操作出现了异常,我们需要排错,日志就是最好的助手!SLF4JLOG4J 【掌握】LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING【掌握】NO_LOGGINGSTDOUT_LOGGING标准日志输出mybatis-config.xml<!--日志文件--><settings> <setting name="logImpl" value="原创 2021-02-09 17:22:16 · 151 阅读 · 0 评论 -
Mybatis知识小汇(4)——作用域(Scope)和生命周期、ResultMap结果映射集
文章目录作用域(Scope)和生命周期SqlSessionFactoryBuilderSqlSessionFactorySqlSession解决属性名和字段名不一致的问题(ResultMap结果映射集)作用域(Scope)和生命周期生命周期和作用域是至关重要的,因为错误的使用会导致非常严重的并发问题。SqlSessionFactoryBuilder这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。因此 SqlSessionFactoryBuilder原创 2021-02-09 08:28:43 · 232 阅读 · 0 评论 -
Mybatis知识小汇(3)——配置解析
文章目录配置解析environments(环境配置)事务管理器(transactionManager)数据源(dataSource)属性(properties)类型别名(typeAliases)设置(settings)映射器(mappers)配置解析configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments原创 2021-02-08 19:02:58 · 139 阅读 · 0 评论 -
Mybatis知识小汇(2)——实现增删改查
增删改查增删该由事务的提交namespace:命名空间中的包要和接口一致select:表示查询语句id:表示实现的方法名resultType:表示返回值的类型parameterType:表示参数类型UserMapper```javapublic interface UserMapper {//获取用户列表List getUserList();//更加id查询用户User getUserById(int id);//增加一个用户int addUser(User原创 2021-02-08 18:57:38 · 123 阅读 · 0 评论 -
Mybatis知识小汇(1)——简介、第一个Mybatis
文章目录Mybatis简介第一个Mybatis搭建环境Mybatis简介MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目原创 2021-02-08 18:57:29 · 202 阅读 · 4 评论 -
Mybatis-Plus知识小汇(1)——快速入门
文章目录Mybatis Plus特性快速入门Mybatis Plus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持主键自动生成:支持多达原创 2021-02-17 16:24:21 · 127 阅读 · 0 评论 -
Spring知识小汇(9)—— 声明式事务
声明式事务回顾事务把一组业务当成一个事务来做;要么都成功,要么都失败事务在项目开发中十分重要,涉及到数据一致性的问题确保完整性和一致性事务ACID原则:原子性一致性隔离性多个业务可能操作同一个资源,防止数据损坏持久性事务一旦提交,无论系统发生什么问题,结果都不会再被影响,被持久的写到存储器中事务的配置spring-dao.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns=原创 2021-03-06 07:59:39 · 121 阅读 · 0 评论 -
Spring知识小汇(8)——Spring整合Mybatis
整合Mybatis步骤:导包junitmysqlmybatismybatis-springspring-webMVC编写配置文件测试回忆mybatis编写实体类public class User { private int id; private String name; private int age; private String email; public User() { } public User(i原创 2021-03-06 07:58:37 · 136 阅读 · 0 评论 -
Spring知识小汇(7)——AOP的相关知识
文章目录AOP什么是AOPAOP在Spring中的作用使用spring实现AOPAOP的实现方式一:使用spring原生API接口【主要是spring中的API接口】方式二:自定义来实现AOP【切面】方式三:使用注解实现AOP什么是AOPAOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架的一个重要内容,是函数式编程的一种衍生。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦原创 2021-03-05 08:08:04 · 384 阅读 · 1 评论 -
Spring知识小汇(6)——Bean的自动装配
文章目录Bean的自动装配测试ByNameByType使用注解实现自动装配使用注解开发使用java的方式配置springBean的自动装配自动装配式spring满足bean依赖的一种方式spring会在上下文中进行寻找,并自动给bean装配属性在spring中由三种装配方式在xml中显示配置在Java中显示配置隐式的自动装配bean 【重要】测试<bean id="cat" class="com.wjq.pojo.Cat"/><bean id="dog" class原创 2021-03-05 08:05:57 · 114 阅读 · 1 评论 -
Spring知识小汇(5)——Bean的作用域
文章目录Bean的作用域singletonprototypeBean的作用域ScopeDescriptionsingleton(Default) Scopes a single bean definition to a single object instance for each Spring IoC container.prototypeScopes a single bean definition to any number of object instances.原创 2021-02-19 18:41:38 · 138 阅读 · 0 评论 -
Spring知识小汇(4)——依赖注入(构造器注入、set方式注入、扩展方式注入)
文章目录依赖注入构造器注入==set方式注入【重点】==扩展方式注入依赖注入依赖:依赖于spring容器注入:对于创建的对象,可以对其属性进行注入,或者注入其他对象构造器注入构造器注入set方式注入【重点】pojopublic class Student { private String name; private Address address; private String[] books; private List<String> hob原创 2021-02-19 18:40:34 · 207 阅读 · 0 评论 -
Spring知识小汇(3)——Spring配置(alias、Bean的配置、import)
文章目录Spring配置aliasBean的配置importSpring配置alias <alias name="user" alias="u1"/>Bean的配置<!-- bean:表示一个对象 id:对象名(变量名) class:对象所对应的全限定名(包名+类名) name:别名,比alias高级,可以同时定义多个,并且可以通过不同的分割符分割--><bean id="userTwo" class="com.wjq.pojo.Us原创 2021-02-19 12:21:04 · 167 阅读 · 0 评论 -
Spring知识小汇(2)—— IOC理论推导(IOC本质、HelloSpring、IOC创建对象的方式)
文章目录IOC理论推导IOC本质HelloSpringIOC理论推导在之前的业务中,用户的需求可能会影响我们原来的代码,我们需要修改原来的代码!如果工程量浩大,修改起来是十分的麻烦。可以通过使用set接口实现,此时不用修改原来的代码,只需调用者,通过自己的需求来调用不同的实现。public class UserServiceImpl implements UserService { private UserDao userDao ; //利用set实现动态注入 public原创 2021-02-19 09:57:25 · 255 阅读 · 0 评论 -
Spring知识小汇(1)—— 简介 、优点、组成、扩展
文章目录Spring简介优点组成扩展Spring简介2002年,首次推出Spring框架:interface21框架Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵2004年3月24日,发布了1.0正式版Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念:是现有技术更加容易使用,本身时是大杂烩,整合了现有技术框架SSH:Struct2+Spring+Hibernat原创 2021-02-18 18:06:46 · 196 阅读 · 0 评论 -
SpringMVC知识小汇(5)——Ajax
文章目录AjaxAjax@RequestBody将后台的对象转换成json形式显示在页面上@RequestBody是接收前端json形式的数据,将json自动封装到破解哦中,此注解是通过获取请求体中的数据,因此要提高POST方法,GET方法只能通过@getParameter接收Ajax是一种用于创建更好更快以及交互性更强的web应用程序技术,默认是Get请求Ajax的核心是XMLHttpRequest对象(XHR)。XHR为服务器发送请求和解析服务器响应提供了接口。能够以异步的方式从服务区中获取数原创 2021-03-13 07:59:03 · 139 阅读 · 0 评论 -
SpringMVC知识小汇(4)——Json
文章目录Json概念定义转化返回json格式FastJsonJson概念JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。定义数据为 键/值 对。数据由逗号分隔。大括号保存对象方括号保存数组键/值对包括字段名称(在双引号中),后面一个冒号,然后是值'{"name":"www"原创 2021-03-13 07:57:56 · 200 阅读 · 0 评论 -
SpringMVC知识小汇(3)—— SpringMVC结果跳转方式、转发和重定向、乱码问题
文章目录SpringMVC结果跳转方式有视图解析器没有视图解析器接收请求参数及数据的回显乱码问题SpringMVC结果跳转方式ModelAndView设置ModelAndView对象,根据view名称和视图解析器跳转到指定的页面页面:{视图及解析器前缀} + viewName + {视图解析器后缀}有视图解析器转发@RequestMapping("/m1/t1")public String test1(HttpServletRequest request, HttpServletResp原创 2021-03-08 17:55:13 · 186 阅读 · 0 评论 -
SpringMVC知识小汇(2)—— 利用注解写SpringMVC、控制器(Controller、RequestMapping、RestFul风格
文章目录利用注解写SpringMVC控制器(Controller)RequestMappingRestFul风格利用注解写SpringMVCweb.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:原创 2021-03-08 17:52:44 · 251 阅读 · 1 评论 -
SpringMVC知识小汇(1)—— HelloSpringMVC(初识SpringMVC)
文章目录SpringMVCHelloSpringMVCSpringMVCMVC框架要做哪些事情:将url映射到java类或者java类的方法封装用户提交的数据处理请求——调用相关的业务处理——封装响应数据将响应的数据在jsp/html等表示层进行渲染我们为什么要学习springMVC?轻量级,简单易学高效,基于请求响应的MVC框架与spring兼容性好,无缝结合约定优于配置功能强大,RESTful,数据验证,格式化,本地化,主题等简洁灵活Spring的web围绕Dispa原创 2021-03-06 08:05:18 · 92 阅读 · 0 评论