![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习记录
文章平均质量分 61
阿福66
这个作者很懒,什么都没留下…
展开
-
Mybatis面试题
因为在使用SqlSession第一次查询后,Mybatis会将结果放到缓存中,以后再次查询时,如果没有声明需要刷新,并且缓存没超时的情况下,SqlSession只会取出当前缓存的数据,不会再次发送SQL到数据库。若使用不同的SqlSession,因为不同的SqlSession是相互隔离的,不会使用一级缓存。缓存:合理使用缓存是优化中最常见的方法之一,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。原创 2023-11-12 22:42:30 · 276 阅读 · 0 评论 -
Mybatis的工作原理
构建 mybatis 的config,xml,java的mapper,entity类config文件原创 2023-11-05 21:52:14 · 144 阅读 · 0 评论 -
Mybatis 概述
MyBatis 是一款优秀的框架,它支持定制化以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。原创 2023-11-03 22:43:22 · 340 阅读 · 0 评论 -
springMVC 面试题
Controller: 用于标识此类的实例的是一个控制器@RequestMapping: 映射url路劲@ReponseBody: 返回JSON数据@RequestBody:将JSON数据转换为json数据,将json数据转换为Java对象@PathVaiable: 获得URL中路径变量中的值@Param: 获取请求参数。原创 2023-10-28 20:06:03 · 572 阅读 · 0 评论 -
KMP算法
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,本身包含了模式串的局部匹配信息。KMP算法的O(m+n)原创 2023-09-03 02:13:46 · 56 阅读 · 0 评论 -
回溯算法总结
回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为:1、定义一个解空间,它包含问题的解。2、利用适于搜索的方法组织解空间。3、利用深度优先法搜索解空间。4、利用限界函数避免移动到不可能产生解的子空间。问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。原创 2023-10-26 22:57:17 · 129 阅读 · 0 评论 -
SpringMVC原理及核心组件
Spring MVC 是一个对javaWeb中Servlet 简化和封装,1.首先SpringMVC 配置DispatcherServlet 来接受所有的请求,我们通过DispatcherServlet 响应的所有数据,DispatcherServlet 是HttpServlet的子类,他的所有方法(Get,Post…)最终都会执行doDispatch方法2.根据用户的输入url通过SpringMVC handlerMapping组件 找到对应的 HandlerExecutionChain 执行链。原创 2023-10-24 22:41:14 · 718 阅读 · 0 评论 -
springMvc的简介
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。原创 2023-10-23 23:00:29 · 1196 阅读 · 0 评论 -
spring面试题
另外,@Autowired是Spring提供的,@Resource是JSR-250提供的,是Java标准,我们使用的IoC容器会去兼容它,这样即使更换容器,也可以正常工作。当多个用户同时请求一个服务时,容器会给每一个请求分配一个线程,这时多个线程会并发执行该请求对应的业务逻辑,如果业务逻辑有对单例状态的修改(体现为此单例的成员属性),则必须考虑线程安全问题。对象,并对此成员变量的值进行修改操作,因此会互相影响,会有并发安全的问题。Spring的Bean默认都是单例的,某些情况下,单例是并发不安全的。原创 2023-10-21 23:00:14 · 518 阅读 · 0 评论 -
Spring怎么解决循环依赖的问题?
spring 容器在获取bean的时候首先从一级缓存总获取,获取不到,到二级缓存获取,如果获取不到到三级缓存获取,如果从三级缓存获取到了就会从三级缓存中删除缓存,然后将从三级缓存获取的半成品bean放到二级缓存。: 单例对象工厂map,bean name --> ObjectFactory,单例对象实例化完成之后会加入singletonFactories。二级缓存 主要存放完成实例化未初始化的单例对象map,bean name -->对于属性注入的循环依赖(单例模式下),是通过三级缓存处理来循环依赖的。原创 2023-10-20 00:00:01 · 253 阅读 · 0 评论 -
java8新特性
有且仅有一个抽象方法的接口。Java中的函数式编程体现就是Lambda表达式。所以函数式接口即可以适用于Lambda使用的接口。你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明).我们可以在任意函数式接口上使用注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。原创 2023-10-07 00:20:33 · 108 阅读 · 0 评论 -
Java面试题
采用安全失败机制的集合容器,在遍历时不是直接在集合内容上访问的,而是先复制原有集合内容,在拷贝的集合上进行遍历。java.util.concurrent包下的容器都是安全失败,可以在多线程下并发使用,并发修改。原理:由于迭代时是对原集合的拷贝进行遍历,所以在遍历过程中对原集合所作的修改并不能被迭代器检测到,所以不会触发Concurrent Modification Exception。缺点。原创 2023-10-06 00:57:09 · 180 阅读 · 0 评论 -
spring 整合 jpa
jpa 整合spring一、导入jar包antlr-2.7.7.jardom4j-1.6.1.jarehcache-core-2.4.3.jarhamcrest-core-1.3.jarhibernate-commons-annotations-4.0.2.Final.jarhibernate-core-4.2.4.Final.jarhibernate-ehcache-4.2.4.Final.jarhibernate-entitymanager-4.2.4.Final.jarhibern原创 2021-07-23 09:47:53 · 193 阅读 · 0 评论 -
JPA JPQL
JPA JPQL一、JPA简介JPQL语言,即 Java Persistence Query Language 的简称。JPQL 是一种和 SQL 非常类似的中间性和对象化查询语言,它最终会被编译成针对不同底层数据库的 SQL 查询,从而屏蔽不同数据库的差异。如果会hibernate的hql查询,那么jpql会上手的很快。JPQL语言的语句可以是 select 语句、update 语句或delete语句,它们都通过 Query 接口封装执行。Query接口封装了执行数据库查询的相关方法。调用 Ent原创 2021-07-23 09:46:33 · 332 阅读 · 0 评论 -
JPA多表映射
JPA多表映射一、单向多对一表映射1.1、什么是单向一对多就是多个学生有一个老师1.2、使用JPA实现单向一对多在学生类加一个老师对象,然后给老师对象生成get,set方法加上@OneToMany ,@JoinColumn1.3、@OneToMany,@JoinColumn@OneToMany 表示一对多@JoinColumn 设置外键名package com.kuang.pojo;import javax.persistence.*;@Entity@Table(name原创 2021-07-22 19:30:54 · 409 阅读 · 0 评论 -
jpa EntityManager的方法
一、EntityManager各种方法1、persistpersist把实体类进行持久化,相当于增加操作 User user = new User(); user.setSex(false); user.setName("小白"); user.setBirth(new Date()); user.setAge(18); entityManager.persist(user);2、findfind 会根据id把数原创 2021-07-20 15:24:40 · 412 阅读 · 0 评论 -
jpa实体类注解
一、JPA各种实体类注解、@Entity表示它为实体类,为一张表,标识各个get方法数据库映射字段@Table 表示它一张表,name 属性可以标识实体类的名字2、@Id标识这个字段为id,@GeneratedValue 标识id 生成策略GenerationType.AUTO id 自增3、@Column映射这个get方法字段为数据库字段它的属性 name 数据库对应字段的名称length 数据库对应字段的长度nullable 数据库对应字段的长度 是否只读4、@Tempor原创 2021-07-20 15:22:47 · 1663 阅读 · 0 评论 -
jpaHello
一、配置xml文件<?xml version="1.0" encoding="UTF-8"?><persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <!-- persistence-unit 单元测试的文件 --> <persistence-unit name="NewPersistenceUnit"> <provider>原创 2021-07-20 15:18:37 · 130 阅读 · 0 评论 -
idea创建JPA
二、IDEA创建JPA工程1、打开IDEA2、创建项目3、点击java Enterprise项目,然后点击JavaEE Persistence4、导入Jar包commons-logging-1.0.4.jardom4j-1.6.1.jargeronimo-spec-jta-1.0.1B-rc4.jarhibernate-commons-annotations-4.0.1.Final.jarhibernate-core-4.2.0.final.jarhibernate-entitym原创 2021-07-20 15:10:03 · 1065 阅读 · 0 评论 -
jpa简介
一、JPA是什么1、JPA简介JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。2、JPA 提供商HibernateJPA是需要Provider来实现其功能的,Hibernate就是JPA Provider中很强的一个,应该说无人能出其右。从功能上来说,JPA就是Hibernate功能的一个子集。SpringSpring + Hibernate 常常被称为 Java原创 2021-07-20 15:05:26 · 2441 阅读 · 0 评论 -
mysql 子查询
一、mysql子查询1.1、子查询定义子查询(Sub Query)或者说内查询(Inner Query),也可以称作嵌套查询(Nested Query),是一种嵌套在其他 SQL 查询的 WHERE 子句中的查询。子查询用于为主查询返回其所需数据,或者对检索数据进行进一步的限制。子查询可以在 SELECT、INSERT、UPDATE 和 DELETE 语句中,同 =、<、>、>=、<=、IN、BETWEEN 等运算符一起使用。使用子查询必须遵循以下几个规则:子查询必须括原创 2021-05-20 23:05:13 · 1068 阅读 · 0 评论 -
tomcat乱码问题解决
一、tomcat乱码问题解决修改tomcat的conf下的logging.properties中的参数将java.util.logging.ConsoleHandler.encoding = UTF-8改为java.util.logging.ConsoleHandler.encoding = GBK原创 2021-05-20 22:56:14 · 63 阅读 · 0 评论 -
mysql 常用函数
一、mysql的函数1.1、limit分页函数的使用第一个起始的个数从0开始第二个查询的个数SELECT * FROM student LIMIT 4,5SELECT * FROM student LIMIT 51.2、聚合函数AVG 平均函数SELECT AVG(studentResult) FROM resultcount 计数函数SELECT COUNT(*) AS ‘人数’ FROM resultmax 最大值SELECT MAX(studentResult) AS原创 2021-05-18 23:47:23 · 161 阅读 · 1 评论 -
spring学习记录
1、Spring简介1.1、什么是springSpring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的原创 2021-03-17 10:02:55 · 32 阅读 · 0 评论 -
mybatis的增删改查
2、mybatisCRUD操作2.1、查询操作 <select id="getUserList" resultType="com.kuang.pojo.User"> select * from mybatis.user </select>2.2、mybatis 增加操作<insert id="addUser" parameterType="com.kuang.pojo.User"> insert into mybatis原创 2021-02-28 14:53:08 · 70 阅读 · 0 评论 -
Mybatis
1.1、Mybatis1.1、什么是MybatisyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。1.2、持久化就是将数据永久的存储1.3、持久层这个层必须包括一个业务领域实体的模型原创 2021-02-27 22:39:42 · 90 阅读 · 0 评论