hibernate

1.2 了解MyBatis -《SSM深入解析与项目实战》

霸气de小男生 提交于 2020-08-17 03:48:14
文章目录 声明 1.2 了解MyBatis 1.2.1 MyBatis简介 1.2.2 Hibernate简介 1.2.3 MyBatis和Hibernate的比较 声明 专栏链接: https://chenhx.blog.csdn.net/category_10263372.html 作者:谙忆 1.2 了解MyBatis MyBatis是一个基于Java的持久层开源框架。主要是将Java中的接口方法映射到执行对应的SQL语句,POJOs(Plain Old Java Objects,普通Java对象)映射成数据库中的记录。对于持久层,你可以简单地理解为将对象永久保存到数据库中,当然也可以理解为对于和数据库相关的所有操作。 1.2.1 MyBatis简介 MyBatis原名为iBatis,在2010年由Apache Software Foundation迁移到Google Code,并更名为MyBat 来源: oschina 链接: https://my.oschina.net/u/4308764/blog/4473541

那些年大厂流露出的数百道 Java 经典面试题.可查缺补漏

旧城冷巷雨未停 提交于 2020-08-17 03:07:07
Java 多线程面试题 1、多线程有什么用? 2、创建线程的方式 3、start()方法和run()方法的区别 4、Runnable接口和Callable接口的区别 5、CyclicBarrier和CountDownLatch的区别 6、volatile关键字的作用 7、什么是线程安全 8、Java中如何获取到线程dump文件 9、一个线程如果出现了运行时异常会怎么样 10、如何在两个线程之间共享数据 11、sleep方法和wait方法有什么区别 12、生产者消费者模型的作用是什么 13、ThreadLocal有什么用 14、为什么wait()方法和notify()/notifyAll()方法要在同步块中被调用 15、wait()方法和notify()/notifyAll()方法在放弃对象监视器时有什么区别 16、为什么要使用线程池 17、怎么检测一个线程是否持有对象监视器 18、synchronized和ReentrantLock的区别 19、ConcurrentHashMap的并发度是什么 20、ReadWriteLock是什么 21、FutureTask是什么 22、Linux环境下如何查找哪个线程使用CPU最长 23、Java编程写一个会导致死锁的程序 24、怎么唤醒一个阻塞的线程 25、不可变对象对多线程有什么帮助 26、什么是多线程的上下文切换 27、如果你提交任务时

23种设计模式-----行为模式

故事扮演 提交于 2020-08-16 23:56:43
行为模式: 关注系统中对象之间的相互交互,研究运行时对象之间的相互通信和协作,明确对象职责 1.模板方法模式(template method) 定义了一个操作中的算法 骨架 ,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 即:处理步骤父类中定义好,具体实现延迟到子类中定义。 开发中:数据库访问的封装、Junit单元测试、servlet中doGet/doPost方法调用、Hibernate中模板程序等等 银行案例: 1 public abstract class BankTemplateMethod { 2 3 // 具体方法 4 public void takeNumber() { 5 System.out.println("取号排队" ); 6 } 7 8 // 办理具体业务 、钩子方法 9 public abstract void transact(); 10 public void evaluate() { 11 System.out.println("反馈评分" ); 12 } 13 14 // 模板方法 15 public final void process() { 16 this .takeNumber(); 17 18 this .transact(); 19 20 this .evaluate(); 21

2020年的秋招已经开始了!最新Java面试题大全(文末附参考答案)送给大家

我与影子孤独终老i 提交于 2020-08-16 11:27:09
包含的模块 本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM 共包含 208 道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。 一. Java 基础模块 1.JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。 2.== 和 equals 的区别是什么? == 解读: 对于基本类型和引用类型 == 的作用效果是不同的,如下所示: 基本类型:比较的是值是否相同; 引用类型:比较的是引用是否相同; 代码示例

java程序员福利:呈上227道Spring+SpringMVC+MyBatis面试题

╄→尐↘猪︶ㄣ 提交于 2020-08-16 03:53:47
前言 昨天给大家分享的Springcloud的面试题,今天的话就给大家来一波基础面试题吧,也就是SSM的面试题,希望大家能够喜欢! Spring55道 一般问题 1.1.不同版本的Spring Framework有哪些主要功能? 1.2、什么是Spring Framework? 1.3、列举Spring Framework的优点。 1.4、Spring Framework有哪些不同的功能? 1.5、Spring Framework中有多少个模块,它们分别是什么? 1.6、什么是Spring 配置文件? 1.7. Spring 应用程序有哪些不同组件? 1.8、使用Spring有哪些方式? 2.依赖注入(loc) 2.1、什么是Spring I0C容器? 2.2、什么是依赖注入? 2.3、可以通过多少种方式完成依赖注入? 2.4、区分构造函数注入和setter 注入。 2.5、spring 中有多少种I0C容器? 2.6、区分BeanFactory和ApplicationContext. 2.7、列举loC的一些好处。 2.8、Spring loC的实现机制。 3、Beans- 3.1、什么是spring bean? 3.2、spring 提供了哪些配置方式? 3.3、spring 支持集中bean scope ? 3.4、spring bean容器的生命周期是什么样的? 3.5

ekp入门

旧城冷巷雨未停 提交于 2020-08-15 23:12:34
1、系统hibernate配置文件 WebContent\WEB-INF\KmssConfig\sys\common\hibernate.xml 2、系统数据库配置文件 \WebContent\WEB-INF\KmssConfig\kmssconfig.properties 3、最新eclipse跑jdk1.7. 把jdk1.8的jre放到eclipse的根目录下。 3、JVM 设置: -Xmx1024M -Xms1024M -XX:PermSize=512M -XX:MaxPermSize=1024M 来源: oschina 链接: https://my.oschina.net/276172622/blog/4329377

SpringBoot2 整合Ehcache组件,轻量级缓存管理

只谈情不闲聊 提交于 2020-08-15 21:34:32
本文源码: GitHub·点这里 || GitEE·点这里 一、Ehcache缓存简介 1、基础简介 EhCache是一个纯Java的进程内缓存框架,具有快速、上手简单等特点,是Hibernate中默认的缓存提供方。 2、Hibernate缓存 Hibernate三级缓存机制简介: 一级缓存 :基于Session级别分配一块缓存空间,缓存访问的对象信息。Session关闭后会自动清除缓存。 二级缓存 :是SessionFactory对象缓存,可以被创建出的多个 Session 对象共享,二级缓存默认是关闭的,如果要使用需要手动开启,并且依赖EhCache组件。 三级缓存 :查询缓存,配置开启该缓存的情况下,重复使用一个sql查询某个范围内的数据,会进行缓存。 3、EhCache缓存特点 快速,简单,并且提供多种缓存策略; 缓存数据有两级:内存和磁盘,无需担心容量问题; 缓存数据会在虚拟机重启的过程中写入磁盘; 可以通过RMI、可插入API等方式进行分布式缓存; 具有缓存和缓存管理器的侦听接口; 支持多缓存管理器实例,以及一个实例的多个缓存区域; 提供Hibernate的缓存实现; 4、对比Redis缓存 Ehcache :直接在Jvm虚拟机中缓存,速度快,效率高,不适合处理大规模缓存数据,在分布式环境下,缓存数据共享操作复杂; Redis :作为独立的缓存中间件

MySQL数据库的锁机制

守給你的承諾、 提交于 2020-08-15 19:20:06
在并发访问情况下,很有可能出现不可重复读等等读现象。为了更好的应对高并发,封锁、时间戳、乐观并发控制(乐观锁)、悲观并发控制(悲观锁)都是并发控制采用的主要技术方式。 锁分类 ①、按操作划分:DML锁,DDL锁 ②、按锁的粒度划分:表级锁、行级锁、页级锁 ③、按锁级别划分:共享锁、排他锁 ④、按加锁方式划分:自动锁、显示锁 ⑤、按使用方式划分:乐观锁、悲观锁 乐观锁和悲观锁 乐观并发控制和悲观并发控制是并发控制采用的主要方法。乐观锁和悲观锁不仅在关系数据库里应用,在Hibernate、Memcache等等也有相关概念。 悲观锁:也即悲观并发控制,Pessimistic Concurrency Controller,缩写PCC。悲观锁是指在数据处理过程,使数据处于锁定状态,一般使用数据库的锁机制实现。 备注,在MySQL中使用悲观锁,必须关闭MySQL的自动提交,set autocommit=0。MySQL默认使用自动提交autocommit模式,也即你执行一个更新操作,MySQL会自动将结果提交。 //0.开始事务 begin;/begin work;/start transaction; (三者选一就可 //1.查询出商品信息 select status from t_goods where id=1 for update; //2.根据商品信息生成订单 insert into

珍藏多年的学习资料300G+,赶紧免费领取,从此离大神更进一步(文末有彩蛋)

旧街凉风 提交于 2020-08-15 19:05:57
将时间线拉到2014 2014年的寒冬,每天早晨六点钟,都会一个弱小的身影,从学校寝室出发,走在去实习公司的路上。经过食堂边的包子铺,他会顺手买两个包子,一杯豆浆,老板也会像往常一样热情的吆喝着回一句,"好勒同学,热乎乎的包子和豆浆,来,拿着,小心烫啊"。每次听到这里都会给那个寒冬里的他带来一丝暖意;他也会跟往常一样,匆匆的将手中的豆浆喝完,然后大步走向学校旁的公交车站台等候去往公司的车辆。因为坐车的时间早,所以经常整个公交车像是他的“专车”,偶尔也会因为天气冷,赖床等原因碰到上班早高峰,然后就开启着急赶车,下车狂跑,还没到公司就打开手机打卡(甚至抱怨定位为啥还打不上卡),然后迟到,扣工资...一系列现在想起来觉得好笑又傻的行为,但就是这样开启了他的实习之路,从此也走向了“万劫不复”的深渊---攻城狮; 其实对于一个实习生来说,最惨的还不是这些,应该是内心的煎熬吧,为什么会有煎熬? Q:“这个需求怎么做,这么简单的问题如果问别人,会被嘲笑吧?” Q:“这句代码怎么理解,还有这一句,这句和这句,wc,好像都不懂,怎么办?” Q:“这个SQL语句怎么会有问题,怎么就是不行呢?” Q:“这个框架怎么这么复杂,看了一个星期也没懂,有必要搞这么多层吗,一层不行吗?” Q: “在我电脑上明明是好的啊,怎么在你这不行?” Q:“额,为什么到点了大家都不下班?” Q:“公司说晚上八点有免费晚餐

spring框架工作的原理的初解

不想你离开。 提交于 2020-08-15 16:33:56
一:spring基本概念 1)struts2是web框架,hibernate是orm框架 2)spring是容器框架,创建bean,维护bean之间的关系 3)spring可以管理web层,持久层,业务层,dao层,spring可以配置各个层的组件,并且维护各个层的关系 二:spring核心原理 1.IOC控制反转 概念:控制权由对象本身转向容器,由容器根据配置文件创建对象实例并实现各个对象的依赖关系。 核心:bean工厂 IoC(Inverse of Control)的字面意思是控制反转,它包括两个内容: 其一是控制 其二是反转 那到底是什么东西的“控制”被“反转”了呢? 对于软件来说,即是某一接口具体实现类的选择控制权从调用类中移除,转交给第三方决定。 但是,因为IoC确实不够开门见山,因此业界曾进行了广泛的讨论,最终软件界的泰斗级人物Martin Fowler提出了DI(依赖注入:Dependency Injection)的概念用以代替IoC。 即让调用类对某一接口实现类的依赖关系由第三方(容器或协作类)注入,以移除调用类对某一接口实现类的依赖。“依赖注入”这个名词显然比“控制反转”直接明了、易于理解。 2.AOP面向切面编程 a.静态代理 根据每个具体类分别编写代理类 根据一个接口编写一个代理类 b.动态代理 针对一个方面编写一个InvocationHandler