MyBatis

Mybatis+MySQL动态分页查询

对着背影说爱祢 提交于 2021-01-14 05:20:46
https://blog.csdn.net/qq_34137397/article/details/63289621 mybatis有两种分页方法 1、内存分页,也就是假分页。本质是查出所有的数据然后根据游标的方式,截取需要的记录。如果数据量大,开销大和内存溢出。 第二中是,真正的物理分页 还有一种是使用分页拦截器实现的 常见的数据分页有哪几种实现??基于数组的分页实现?基于sql语句的分页实现?还是通过拦截器进行数据分页功能?还是通过RowBounds参数进行物理分页?几种都是常用的分页实现原理 一.借助数组进行分页 原理:进行数据库查询操作时,获取到数据库中所有满足条件的记录,保存在应用的临时数组中,再通过List的subList方法,获取到满足条件的所有记录。 二. 借助Sql语句进行分页,物理分页 实现:通过sql语句实现分页也是非常简单的,只是需要改变我们查询的语句就能实现了,即在sql语句后面添加limit分页语句。 首先还是在StudentMapper接口中添加sql语句查询的方法,如下: List <Student> queryStudentsBySql( Map<String,Object> data ); 然后在StudentMapper.xml文件中编写sql语句通过limiy关键字进行分页: <select id="queryStudentsBySql"

突发,英国宣布禁用华为!公司回应来了...

邮差的信 提交于 2021-01-13 17:52:35
点击“ 开发者技术前线 ”,选择“星标🔝” 在看|星标|留言, 真爱 中国基金报 泰勒 英国终究还是“封杀”华为 英国决定停止在5G建设中使用华为 据路透社消息,英国文化大臣奥利弗·道登(Oliver Dowden)刚刚宣布,英国已决定停止在5G建设中使用华为设备。 另据英国天空新闻网消息,道登表示,英国政府将从2020年12月31日起停止购买新的华为设备。此外,英国5G网络中目前所使用的华为设备须在2027年前拆除。 7月14日,外交部发言人赵立坚主持例行记者会。有记者就英国首相即将就是否禁止华为技术参与5G建设一事作出决定等相关内容提问。 赵立坚表示,能否为在英中国企业提供开放、公平、非歧视的营商环境,是脱欧后英国市场走向的试金石,也是中国在英投资是否安全的风向标,中方将密切关注。 据《金融时报》报道,英国政府通信总部(GCHQ)下属的英国国家网络安全中心(NSCS)受政府委托撰写了一份有关美国制裁对华为影响的报告。14日,英国国家安全委员会(NSC)召开会议对该报告进行讨论。《每日电讯报》此前报道称,GCHQ的报告认为,使用华为的技术和设备存在“安全风险”。路透社13日引述英国反对党工党的推文称,英国数字化、文化、媒体和体育大臣道登14日将就华为问题发表声明。 今年1月,英国政府宣布允许华为有限度参与英国5G网络建设。然而,新冠肺炎疫情发生后,英国政界的反华情绪逐步高涨

springboot整合Shiro

僤鯓⒐⒋嵵緔 提交于 2021-01-13 17:50:20
1.创建一个springboot项目 选中web和thymeleaf 1.1新建index.html <!DOCTYPE html > < html lang = "en" xmlns:th = "http://www.thymeleaf.org" > < head > < meta charset = "UTF-8" > < title > Title </ title > </ head > < body > < h1 > 首页 </ h1 > < p th:text = "${msg}" > </ p > </ body > </ html > 1.2创建一个controller package com.yao.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind. annotation .RequestMapping; @Controller public class MyController { @RequestMapping({ "/" , "/index" }) public String toIndex(Model model){ model

MyBatis 源码分析

狂风中的少年 提交于 2021-01-13 08:45:42
* 本文速览 由于本篇文章篇幅比较大,所以这里拿出一节对本文进行快速概括。本篇文章对 MyBatis 配置文件中常用配置的解析过程进行了较为详细的介绍和分析,包括但不限于 settings , typeAliases 和 typeHandlers 等,本文的篇幅也主要在对这三个配置解析过程的分析上。下面,我们来一起看一下本篇文章的目录结构。 从目录上可以看出,2.3节、2.5节和2.8节的内容比较多。其中2.3节是关于 settings 配置解析过程的分析,除了对常规的 XML 解析过程分析,本节额外的分析了元信息类 MetaClass 源码的逻辑。2.5节则是详细分析了别名注册的过程,包含自动注册和手动注册别名等两种方式。2.8节则是详细介绍了类型处理器的注册过程,类型注册逻辑是封装在 TypeHandlerRegistry 类中的各个 register 重载方法中。由于重载方法比较多,且互为调用,调用关系比较复杂。为此,我专门画了一张方法调用关系图。这张图在分析类类型处理器注册那一块的源码时,会很有用。 本文的2.9节主要用于分析 SQL 映射文件的解析过程。由于 SQL 映射文件解析的过程也很复杂,所以这里把2.9节独立成文,后续会进行更新。至于其他的章节,没什么太复杂的东西,就不一一叙述了。 以上就是 MyBatis 配置文件解析过程的速览,如果大家对以上所说内容比较熟悉了

java零基础之---常见java面试题

社会主义新天地 提交于 2021-01-13 08:31:32
看到别人分享的面试题,感觉蛮全面的,分享出来,慢慢研究答案。 一、Java 基础 1.JDK 和 JRE 有什么区别? 2.== 和 equals 的区别是什么? 3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 4.final 在 java 中有什么作用? 5.java 中的 Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与 String str=new String("i")一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用 final 修饰吗? 14.接口和抽象类有什么区别? 15.java 中 IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和 Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和 Hashtable 有什么区别? 22.如何决定使用 HashMap 还是 TreeMap? 23.说一下

Eureka入门案例

孤者浪人 提交于 2021-01-13 07:52:49
1、整体思路 1.1、服务注册中心Eureka(可以是一个集群,对外暴露自己的地址) 1.2、服务提供者:启动后向Eureka注册自己的信息(地址,提供什么服务) 1.3、客户端消费者:向Eureka订阅服务,Eureka会将服务的所有提供者地址列表发送给消费者,并且定期更新 2、代码实现 2.1 创建父工程cloud-demo,导入依赖 1 <? xml version="1.0" encoding="UTF-8" ?> 2 < project xmlns ="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > 5 < modelVersion > 4.0.0 </ modelVersion > 6 7 < groupId > com.myx.demo </ groupId > 8 < artifactId > cloud-demo </ artifactId > 9 < version > 1.0.0-SNAPSHOT </ version >

mybatis 源码分析(五)Interceptor 详解

こ雲淡風輕ζ 提交于 2021-01-13 04:35:00
本篇博客将主要讲解 mybatis 插件的主要流程,其中主要包括动态代理和责任链的使用; 一、mybatis 拦截器主体结构 在编写 mybatis 插件的时候,首先要实现 Interceptor 接口,然后在 mybatis-conf.xml 中添加插件, <configuration> <plugins> <plugin interceptor="***.interceptor1"/> <plugin interceptor="***.interceptor2"/> </plugins> </configuration> 这里需要注意的是,添加的插件是有顺序的,因为在解析的时候是依次放入 ArrayList 里面,而调用的时候其顺序为: 2 > 1 > target > 1 > 2 ;(插件的顺序可能会影响执行的流程)更加细致的讲解可以参考 QueryInterceptor 规范 ; 然后当插件初始化完成之后,添加插件的流程如下: <img src="https://img2018.cnblogs.com/blog/1119937/201908/1119937-20190828142637395-1990851698.png" width = "800" alt="" align=center /> 首先要注意的是,mybatis 插件的拦截目标有四个,Executor

Java 项目权威排名:Nacos 未上版,Gradle 排名第二,Maven 排名 28

孤街醉人 提交于 2021-01-12 14:45:46
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 来源丨toutiao.com/i6908912198412681732/ https://github.com/ossf/criticality_score 发布了开源项目排名,下载地址: https://commondatastorage.googleapis.com/ossf-criticality-score/index.html 我在这里选出我感兴趣,而且和公众认知不大一致的排名。 Java项目权威Top200排名-结果出乎你意料 Spring生态 Java项目权威Top200排名-结果出乎你意料 这点毫无疑问,Spring生态是Java开发的实际标准规范。 Java项目权威Top200排名-结果出乎你意料 基于“事件驱动架构”的Spring Cloud Stream项目也上榜了,这才是微服务解耦的正确姿势。 Java项目权威Top200排名-结果出乎你意料 gradle vs maven(第2名vs第27) gradle无论是易用性还是性能都超过maven,但是大部分同学还苦苦守着maven。 Java项目权威Top200排名-结果出乎你意料 kafka vs pulsar(第12名vs第20名)

对软件工程的认识和个人职业生涯规划

杀马特。学长 韩版系。学妹 提交于 2021-01-12 10:02:58
一、 (1)选择软件工程的理由:第一点IT领域具有很好的发展前景,是一个朝气蓬勃的行业,前20多年互联网带动了世界各个行业的发展,近几年人工智能、大数据等更是在火热发展中,当然还将会有更好的发展前景,第二点是IT行业对程序开发者的思维能力有较高的要求,通过算法的编写与阅读可以锻炼自己的思维能力,让自己的大脑得到充分的锻炼,第三点就说的接地气点吧,IT行业的薪资是比较高的,对于大多数人来说当然是选择薪资待遇高的行业了。对于我个人条件而言,自我感觉应该是没问题吧,总之一句话,多学点东西多敲点代码多思考一下还是可以学到技术的,技术是需要的是积累的,不断积累总会有成为大牛的那一天。 (2)当认识到这个行业,对这个行业有一定的了解以后,渐渐喜欢上这个领域,软件工程是我喜欢的领域。而目前是正处于学习阶段擅不擅长自己很难确定,但个人感觉自己对新技术的接受是不存在太大问题的。 (3)对于软件工程专业算是我比较热爱的专业吧,因为这个专业(行业)是一个让一个人永远保持学习姿态的专业(行业) 二、 (1)对于目前的大学生活没有什么可以吐槽的,在我看来在大学里是一个人主动去改变、成长而不是被动去改变,自己的人生观、世界观、价值观是自己主动地去培养的,个人的技术需要自己去学习、探索以及积累的,尤其在IT行业一个IT人的自我素养、学习能力、敏捷的思维能力等都是需要自己主动地去培养的,如果想要改变

ssm整合

主宰稳场 提交于 2021-01-12 07:03:20
在mybatis和spring整合后 , 在把springmvc整合进来 在maven里创建web工程 然后进行mybatis和spring的整合步骤(写在其他博客里) 在把springmvc 加进来 步骤 引入依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.liy</groupId> <artifactId>SSM-01</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <spirng.version>4.3.3.RELEASE</spirng.version> </properties> <dependencies> <!-- Spring相关jar包 --> <dependency>