MyBatis学习(八)——分页

分页使用limit分页RowBounds分页分页插件分页是为了减少数据的处理量使用limit分页语法select * from user limit startIndex,pageSize[0,n]接口 //实现分页 List<User> getUserByLimit(Map<String,Integer> map);Mapper.xml <!--结果集映射--> <resultMap id="UserMap" ty
分类: 其他 发布时间: 01-30 23:22 阅读次数: 0

MyBatis学习(九)——使用注解开发

使用注解开发定义注解定义注解使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。注解在接口上实现需要在核心配置文件中绑定接口...
分类: 其他 发布时间: 01-30 23:22 阅读次数: 0

MyBatis学习(十)——Mybatis执行流程

Mybatis详细执行流程1、创建连接Sqlsession工厂的类目录全览1、创建连接Sqlsession工厂的类连接类创建好之后,构建实体类,创建实体类接口,接口映射文件之后的修改只修改接口映射文件以及测试类...
分类: 其他 发布时间: 01-30 23:21 阅读次数: 0

MyBatis学习(十一)——注解进行增删查改

注解进行增删查改selectinsertupdatedelete@Param()注解在原来的JDBC中会自动提交事务,但是在MyBatis中默认关闭了JDBC的自动提交功能,最后要使用session.commit()提交事务,否则数据不会发生改变selectinsertupdatedelete@Param()注解基本类型的参数或者String类型需要加引用类型不需要加如果只有一个基本类型可以加可以不加建议加...
分类: 其他 发布时间: 01-30 23:21 阅读次数: 0

MyBatis学习(十二)——Lombok的使用

Lombok的使用@Data构造方法注解Equal@ToString@Getter 和 @SetterJAVA库里的构建代码的插件,像get和set就可以直接用注解不需要再写@Getter and @Setter@FieldNameConstants@ToString@EqualsAndHashCode@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor@Log, @Log4j, @Log4j2, @Slf4
分类: 其他 发布时间: 01-30 23:21 阅读次数: 0

MyBatis学习(十三)——复杂查询环境搭建

复杂查询环境搭建关联和集合二级目录三级目录多个学生对应一个老师对于学生而言,关联多个学生,关联一个老师对于老师而已言,一个老师有多个学生(集合)关联和集合二级目录三级目录...
分类: 其他 发布时间: 01-30 23:20 阅读次数: 0

MyBatis学习(十四)——多对一和一对多查询

多对一查询和一对多查询多对一查询按照查询嵌套处理按照结果嵌套处理一对多查询实体类按结果查询按照查询嵌套处理多对一查询按照查询嵌套处理查询所有的学生信息以及对应的老师的信息按照结果嵌套处理一对多查询一个老师拥有多个学生对于老师就是一对多实体类package com.my.pojo;import lombok.Data;import java.util.List;@Datapublic class Teacher { private int id; pr
分类: 其他 发布时间: 01-30 23:20 阅读次数: 0

MyBatis学习(十五)——动态SQL(if,where,choose,set,trim,foreach)

动态SQL一级目录二级目录三级目录动态SQL就是根据不同的条件生成不同的SQL语句一级目录二级目录三级目录
分类: 其他 发布时间: 01-30 23:20 阅读次数: 0

MyBatis学习(十六)——缓存

缓存Mybatis缓存一级缓存测试缓存失效的情况二级缓存1.什么是缓存[ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上 (关系型数据库数据文件) 查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。2.为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率。3.什么样的数据能使用缓存? 经常查询并且不经常改变的数据。Mybatis缓存MyBatis包含一个非常强大的查询缓存特性,它可
分类: 其他 发布时间: 01-30 23:20 阅读次数: 0

Spring学习(一)——Spring认识及IOC理论

Spring简介组成IOC思想理论IOC本质HelloSpring优化简介理念:使现有的技术更加容易使用,整合了现有的技术框架SSH:Struct2+Spring+HibernateSSM: SpringMvc+Spring+Mybatis官网官方下载地址githubMaven<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency>
分类: 其他 发布时间: 01-30 23:19 阅读次数: 0

Spring学习(二)——IOC创建对象方式及Spring配置

IOC创建对象方式默认使用无参构造创建对象使用有参构造1、根据下标构造2、根据参数类型匹配3、直接根据参数名构造Spring配置使用别名bean的配置import在配置文件加载的时候,容器中管理的对象就已经初始化了默认使用无参构造创建对象是创建ApplicationContext的时候实例就已经被创建了,getBean只是获得了引用如果将无参构造改为有参构造使用有参构造1、根据下标构造 <!--根据下标构造--> <bean id="user" class=
分类: 其他 发布时间: 01-30 23:19 阅读次数: 0

mybatis中“#{}“和“${}“的区别

动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${} 。1、#相当于对数据 加上 双引号,$相当于直接显示数据。2、#{} : 根据参数的类型进行处理,比如传入String类型,则会为参数加上双引号。#{}传参在进行SQL预编译时,会把参数部分用一个占位符 ? 代替,这样可以防止 SQL注入。3、${} :将参数取出不做任何处
分类: 其他 发布时间: 01-30 23:19 阅读次数: 0

Spring学习(三)——DI依赖注入及Bean的作用域

依赖注入构造器注入Set注入环境搭建八种方式注入测试拓展方式注入p命名空间注入c命名空间注入构造器注入之前的博客中的注入方式都为构造器注入<beans> <bean id="beanOne" class="x.y.ThingOne"> <constructor-arg ref="beanTwo"/> <constructor-arg ref="beanThree"/> </bean>
分类: 其他 发布时间: 01-30 23:19 阅读次数: 0

Spring学习(四)——自动装配Bean

自动装配Bean三种装配Bean环境搭建byName自动装配byType自动装配@Resource和@ Autowired的区别自动装配Bean是Spring满足bean依赖的一种方式Spring会在上下文中自动寻找,并自动给bean装配属性三种装配Bean1、在xml中显式装配2、在java中显式装配3、隐式的自动装配bean环境搭建实体类package com.my.pojo;public class Cat { public void shout(){
分类: 其他 发布时间: 01-30 23:19 阅读次数: 0

Spring学习(五)——使用注解开发

使用注解开发注解说明bean注入属性注入自动装配作用域xml与注解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
分类: 其他 发布时间: 01-30 23:18 阅读次数: 0

Spring学习(六)——代理模式(静态代理和动态代理)

代理模式代理模式分类静态代理动态代理代理模式是SpringAOP的底层代理模式分类静态代理1. 可以使真实的角色操作更加存粹,不用关注一些公共的业务2. 公共的业务可以交给代理角色,实现业务分工3. 公共业务发生拓展的时候方便集中管理4. 一个真实角色就会产生一个代理角色,代码量会多角色分析:抽象角色:一般会使用接口或者抽象类解决 (上图中的租房这个操作)真实角色:被代理的角色 (房东)代理角色:代理真实的角色,代理真实角色会做一些附属操作 (中介)客户:访问代理对象的
分类: 其他 发布时间: 01-30 23:18 阅读次数: 0

Spring学习(七)——AOP的实现

AOP什么是AOPAOP在Spring中的作用Spring实现AOP方式一:使用Spring的API接口(Spring接口实现)方式二:自定义实现AOP(切面定义)方式三:使用注解实现什么是AOPAOP (Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而
分类: 其他 发布时间: 01-30 23:18 阅读次数: 0

Spring学习(八)——整合Mybatis

整合Mybatis整合步骤Mybatis配置整合步骤1、导入相关jar包junitmybatismysql数据库spring包aop植入mybatis-spring<?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-instance"
分类: 其他 发布时间: 01-30 23:17 阅读次数: 0

Spring学习(九)——声明式事务

声明式事务事物的ACID原则二级目录三级目录二事物的ACID原则原子性确保事务要么都成功要么都失败一致性一旦事务提交,要么成功要么失败隔离性多个业务可能操作同一个资源,防止数据损坏持久性事务一旦提交,无论系统发生什么问题,结果都不会再被影响,被持久化的写到存储器中二级目录三级目录二...
分类: 其他 发布时间: 01-30 23:17 阅读次数: 0

SpringMVC学习(一)——初识SpringMVC及运行原理

初识SpringMVC配置版SpringMVC原理实践SpringMVC是SpringFramework的一部分,是基于Java实现MVC的轻量级的web框架MVC:M:model模型View:视图Controller:控制器降低视图与业务之间的双向耦合,是一种架构模式。Spring MVC1、轻量级,简单易学2、高效,基于请求响应的MVC框架3、与Spring兼容性好,无缝结合4、约定优于配置5、功能强大:RESTful、数据验证、格式化、本地化、主题6、简洁灵活配置版S
分类: 其他 发布时间: 01-30 23:17 阅读次数: 0