- 博客(181)
- 资源 (1)
- 收藏
- 关注
原创 【Java 基础】枚举(Enum)的使用
前言在JDK 5 之前,我们定义常量都是: public static fianl… 。JDK 5 之后,枚举(Enum)引入了。我们可以使用枚举定义定义常量。一、枚举1.什么是枚举?可以将枚举看成一种特殊的类,他的声明的变量默认就有“public static fianl”修饰。枚举都是继承自“java.lang.Enum”类。作用:当需要定义一组常量时,可以使用枚举类型2.枚举使用2.1 语法创建枚举类需要使用“enum”关键字。创建的常量用逗号分隔。enum 枚举名字 {
2021-09-22 15:52:50
2827
原创 【MyBatis-Plus】(9)代码生成器
一、代码生成器AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。可以通过一个类,生成代码,节省大量的开发时间。参考官方文档:代码生成器1.添加依赖pom.xml中添加依赖 <!-- mybatis-plus代码生成器 --> <dependency&
2021-03-23 19:16:00
507
2
原创 【MyBatis-Plus】(8)条件构造器
一、条件构造器官方文档:条件构造器条件抽象类 Wrapper非常重要。他的子类AbstractWrapper有非常多方法。一些复杂的sql条件就可以使用"*AbstractWrapper"的子类来替代!例如,WHERE 子句的一些条件查询。1.QueryWrapper 使用QueryWrapper 对象主要用于查询时设置条件。主要参考官方,下列代码供参考,使用的还是之前的user数据库。@SpringBootTestpublic class WrapperTest { @Autowi
2021-03-23 19:15:02
549
原创 【MyBatis-Plus】(7)性能分析插件
性能分析插件性能分析拦截器,用于输出每条 SQL 语句及其执行时间该插件 3.2.0 以上版本移除推荐使用第三方扩展 执行SQL分析打印 功能可以看到sql语句的执行时间,对慢sql进行优化。1.导入依赖<!-- 性能分析插件 https://mvnrepository.com/artifact/p6spy/p6spy --><dependency> <groupId>p6spy</groupId> <artifactId
2021-03-23 19:11:43
526
1
原创 【MyBatis-Plus】(6)删除 + 逻辑删除
一、测试各种删除还是使用之前springboot项目,使用之前的user表,创建一个UserDeleteTest,用于测试删除。先使用之前的插入语句,多添加几条数据,用于删除测试代码如下:单个id,多个id,多条件删除。更多方法查看官方文档:Mapper CRUD 接口 - Delete@SpringBootTestpublic class UserDeleteTest { @Autowired UserMapper userMapper; /** 单个id删除 */
2021-03-23 19:07:55
611
2
原创 【MyBatis-Plus】(5)查询 + 分页查询
一、测试各种查询还是使用之前springboot项目,使用之前的user表,创建一个UserSelectTest,用于测试查询。代码如下:单个id,多个id,多条件查询。更多方法查看官方文档:Mapper CRUD 接口 - Select@SpringBootTestpublic class UserSelectTest { @Autowired UserMapper userMapper; /** 单个id查询 */ @Test public void
2021-03-23 19:06:36
499
3
原创 【MyBatis-Plus】(4)乐观锁
一、乐观锁参考自:乐观锁插件意图:当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式:取出记录时,获取当前version更新时,带上这个version执行更新时, set version = newVersion where version = oldVersion如果version不对,就更新失败1.新增字段version还是使用之前的user表,在user表中新增一个字段"version",类型为int,默认值为"1"。2.修改实体类修改实体类,给实体类增加上ver
2021-03-23 19:05:42
1190
原创 【MyBatis-Plus】(3)自动填充
前言通常,我们创建数据表时都会增加两个字段:“创建时间”、“修改时间”。在阿里巴巴的《阿里巴巴Java开发手册(华山版).pdf》“(一) 建表规约”中也有规范说明。【强制】表必备三字段:id, create_time, update_time说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。create_time, update_time的类型均为 datetime 类型。所以,在插入数据时,我们需要给"create_time" 和 "
2021-03-23 19:01:43
329
原创 【MyBatis-Plus】(2)主键生成策略
前言该片文章紧接着上一篇文章。现在实现一个插入,并且扩展一下不同的主键生成策略。一、主键生成策略1.测试插入新建一个测试方法,用于测试插入。这里我们并没有给用户输入id(主键)。 @Test public void testInsert() { User user = new User(); user.setName("张三"); user.setAge(20); user.setEmail("123456@qq.co
2021-03-23 19:00:03
324
原创 【MyBatis-Plus】(1)快速开始
前言MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 可以简化我们大量工作时间,很多的CRUD代码它都可以自动化完成,类似JPA、tk-mapper。话不多说开始吧。以下参考自官方文档,需要搭配去读:官方文档 - 快速开始一、快速开始注意:这里我自己使用的mysql数据库,而不是官方文档中的H2数据库。1.数据库准备mysql中创建数据库,执行官方文档提供的sql数据。2
2021-03-23 18:56:12
314
原创 钉钉免费内网穿透工具使用
前言该篇文章记录了如何使用钉钉的内网穿透:内网穿透之HTTP穿透1.问题最近在写uni-app的项目,每次后台api接口写好后都需要打包上传到服务器上,这样前端的小伙伴才能拿到数据。因为是SpringBoot项目,如果导成jar包每次都要上传好会儿。后来把项目打成war包,部署到tomcat上,这样只要每次修改替换的文件就好了。但是就算是war包每次仅替换.class文件后还是需要重启tomcat,就很费时间。今天小伙伴推荐使用钉钉的的内网穿透工具,是真的不错,本地改了前端就可以直接访问到,开
2020-08-11 17:34:20
8940
3
原创 MySQL5.7 下载安装
一、下载尽量使用压缩包解压缩方式安装,压缩包的解压后配置下环境变量就能使用。如果使用安装程序(.msi安装程序)安装,卸载起来会比较麻烦。下载地址链接,各版本下载链接二、安装1.解压缩下载的zip压缩包解压缩(我的mysql解压缩安装位置为“D:\software\Programming\Env\mysql-5.7.28”)。解压缩后就是安装了。2 配置环境变量配置环境变量,这样就不用每次都到mysql的bin执行操作了。新建一个MYSQL_HOME,变量值为MySQL的解压缩文件的bin
2020-05-27 22:17:39
2382
原创 【MyBatis】(5)注解SQL
前言使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。上面这段来自:官方文档中的 探究已映射的 SQL 语句在MyBatis中可以使用注解来写SQL语句。用的比较少,当作扩展吧。面对简单需求用起来还是挺顺手的。二、案例使用注解...
2020-04-22 01:03:20
1056
原创 【MyBatis】(4)动态SQL
前言该文章记录了MaBatis动态SQL常用标签。一、动态SQL 介绍动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映...
2020-04-22 01:01:18
373
原创 【MyBatis】(3)xml 映射文件
前言该篇文章为 xml 映射文件的笔记,主要讲 xml 映射文件(也就是xxxMapper.xml 文件)。一、mapper(xml文件)MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更...
2020-04-22 00:59:00
2754
原创 【MyBatis】(2)xml 配置文件
前言该篇文章为mybatis-config.xml的笔记,主要记录 xml 配置文件中比较主要的配置(不是所有的配置)。也就是xml中的各种标签。参考自官方文档。一、settings(设置)这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表 描述了设置中各项设置的含义、默认值等。比如:logImpl属性,用于指定 MyBatis 所用日志的具体...
2020-04-22 00:58:24
631
原创 FastJson 简单使用
一、FastJson 简单使用下面是几个常用的 JSON 解析类库:Gson: 谷歌开发的 JSON 库,功能十分全面。FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。Jackson: 社区十分活跃且更新速度很快。1.依赖添加依赖,我这里使用的阿里巴巴的fastjson。 <!-- fastjson --> <dep...
2020-04-11 01:29:32
269
原创 看了这篇Java快速输入输出的解析,再也不怕用Java做算法题超时了
前言最近刷算法题又遇到Java超时的问题了,重新研究一下 Java 的输入与输出。总结了下Java的输入输出。直接说总结吧:Java 的输入输出,只要套上缓冲流(BufferdXxx开头的)速度就会变得高效(更快)。如果你不愿意看全文具体的分析,你可以直接跳转到 一、工具类 中,我封装了快速输入的工具类,同时举例的快速输出的使用,这样以后会用起来更加简单一些。如果你愿意整篇文章看一遍,并且...
2020-04-07 20:57:46
2719
原创 【蓝桥杯】第九届决赛 - 海盗与金币(Java题解)
题目结果填空(满分29分)标题:海盗与金币12名海盗在一个小岛上发现了大量的金币,后统计一共有将近5万枚。登上小岛是在夜里,天气又不好。由于各种原因,有的海盗偷拿了很多,有的拿了很少。后来为了“均贫富”,头目提出一个很奇怪的方案:每名海盗都把自己拿到的金币放在桌上。然后开始一个游戏。金币最多的海盗要拿出自己的金币来补偿其他人。补偿的额度为正好使被补偿人的金币数目翻番(即变为原来的2...
2020-04-05 20:21:45
1200
3
原创 【MyBatis】(1)简单使用
前言该文章只是个人笔记总结,详细学习请访问底部MyBatis官方文档。使用的开发工具为IDEA.一、介绍MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java...
2020-04-05 15:24:08
392
原创 【ZOJ】3326.An Awful Problem(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827368250In order to encourage Hiqivenfin to study math, his mother gave him a sweet candy when the day of the month was a prime n...
2020-04-02 16:51:39
545
原创 【Log4j】log4j 简单使用 + 详情
前言log4j 简单使用,附上测试代码与.peoperties文件(也可以使用xml文件配置)。一、log4j 简单使用1.添加依赖我这边使用maven依赖。 <dependency> <groupId>log4j</groupId> <artifactId>log4j</...
2020-04-01 23:17:19
791
原创 【Jsoup】Java 爬虫 - Jsoup的简单使用
前言最近在写爬虫玩,爬虫写完后整理了如下笔记,以后说不定用到上。其实java.net包下的也可以用,但是为了简单,而且有封装好的Jsoup库库用,效率更高。一、工具1.Jsoupjsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching ...
2020-04-01 23:16:58
562
原创 【ZOJ】4106.Lucky 7 in the Pocket(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370501BaoBao loves number 7 but hates number 4, so he refers to an integer is divisible by 7 but not divisible by 4. For exampl...
2020-04-01 23:13:47
304
原创 【ZOJ】0001.A + B Problem(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827364500Calculate a + b InputThe input will consist of a series of pairs of integers a and b,separated by a space, one pair of int...
2020-04-01 23:13:11
424
原创 【ZOJ】4105.Abbreviation(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370500In the Test of English as a Foreign Language (TOEFL), the listening part is very important but also very hard for most stu...
2020-04-01 23:12:37
391
原创 【ZOJ】2812.Quicksum(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827366311A checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is ch...
2020-04-01 23:12:02
943
原创 【ZOJ】1048.Financial Management(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827364547Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. L...
2020-04-01 23:11:32
418
原创 【ZOJ】0045.HangOver(Java 题解)
一、题目原题链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827364544 How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of hal...
2020-04-01 23:11:00
309
原创 1010 一元多项式求导 (25分)(Java 题解)
1010 一元多项式求导 (25分)原题链接:传送门一、题目二、解析思路题目读懂:输入案例中3 4 = 对应的输出为12 3。12是3*4的结果,3是4-1。注意空格,注意“零多项式”的指数和系数都是 0,但是表示为 0 0。ac代码你可以用字符串保存,最后再把首位空格去掉。import java.util.Scanner;/** * 1010 一元多项式求导 (25分...
2020-03-03 21:34:09
1001
2
原创 1015 德才论 (25分)(Java 题解)
1015 德才论 (25分)原题链接:传送门一、题目二、解析思路题目读懂,新建一个学生类用于存放值,顺便写3个方法。然后排序一下,最主要难在排序。这题Java过不了,只能通过三个测试案例。代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;...
2020-03-03 20:44:58
1142
4
原创 【数学】素数判断
前言以下代码实现了三种不同的方式,判断一百万中的所有素数。速度在不断的优化,尤其是第三种方式。代码import java.util.ArrayList;import java.util.Date;import java.util.List;/** * 判断一百万中所有素数 */public class 素数 { public static void main(String[]...
2020-03-01 18:40:00
278
原创 【JDBC】JDBC工具类封装
文章目录前言代码相关前言最近有用到JDBC,然后封装了个JDBC工具类。代码import java.sql.*;import java.util.*;/** * JDBC工具类:负责数据库操作。 * * @author ChangSheng * @date 2020-02-27 */public class JdbcUtil { /** 加载数据库驱动程序 */...
2020-02-28 13:36:33
345
原创 【Git】git学习笔记(git命令)
文章目录前言一、git命令1.创建版本库2.版本控制(时光穿梭机)3.远程仓库4.分支管理其他参考相关前言Git学习我是参考廖雪峰的Git教程,以下是学习时的一些笔记。Git教程链接:https://www.liaoxuefeng.com/wiki/896043488029600一、git命令1.创建版本库git config --global user.name "Your Nam...
2020-02-19 15:56:39
221
原创 【IDEA】IDEA中使用git将项目上传到码云上
文章目录前言一、IDEA上传项目到码云上1.将项目变成Git能管理的仓库2.将项目加入暂存区3.将项目提交到本地仓库4.将项目推送到码云上5.解决Push rejected问题其他参考前言该篇文章记录了使用IDEA上传项目到码云上。前提是你在IDEA中集成了git,并且会git的简单使用。【Git】使用git提交修改到码云个人仓库一、IDEA上传项目到码云上1.将项目变成Git能管...
2020-02-19 12:12:04
1390
原创 【工具集】目录
IDEA【IDEA】IDEA配置SpringBoot热部署(两种方式)【IDEA】IDEA中使用git将项目上传到码云上Git【Git】git学习笔记(git命令)【Git】使用git提交修改到码云个人仓库Eclipse【Eclipse 问题】Eclipse压缩包下载及使用教程【Eclipse 问题】Eclipse导入Java Web项目时变普通java工程(问题解决)【Ec...
2020-02-18 21:18:17
291
原创 【Java 进阶】JDK 8 推导Lambda简化过程
文章目录前言一、Lambda简化过程1.外部类2.静态内部类3.局部内部类4.匿名内部类5.JDK 8 Lambda表达式二、示例1.接口方法无参数2.接口方法有参数3.接口方法有参数有返回值前言该文章记录了多线程用Lambda简化的过程(这里就不多赘述Lambda 的作用了)。推荐将二、示例中的代码粘贴运行感受一下。一、Lambda简化过程1.外部类多线程的创建有三种方式(继承Th...
2020-02-18 13:29:12
552
原创 【Java SE 进阶】目录
其他知识1.JDKJDK 5 到 13 新特性(JDK 5、6、7、8、9 、10、11、12、13)java小知识:for和foreach哪个更快:https://www.jianshu.com/p/02f39ab8cfa7TreeMap和HashMap的区别:https://blog.csdn.net/qq_41672180/article/details/97122462Oracl...
2020-02-17 18:35:10
286
原创 【Java 进阶】JDK 5 到 13 新特性(JDK 5、6、7、8、9 、10、11、12、13)
文章目录前言一、 JDK 51.自动装箱拆箱2.Foreach其他参考相关前言JDK从1.5版本开始,在官方的正式文档与宣传资料中已经不再使用类似JDK1.5的名称,只有程序员内部使用的开发版本号(Developer Version,例如java-version的输出)才继续沿用1.5、1.6、1.7和1.8的版本号,而公开版本号(Product Version)则改为JDK5、JDK6、...
2020-02-13 23:32:47
761
【RuoYi框架】RuoYi框架学习超简单案例 - 新闻管理系统(源码)
2021-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅