自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Daniel的博客

菜鸟学习笔记

  • 博客(75)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis持久化

为什么因为redis是缓存在内存中的,当出现宕机等不可控因素,重启redis,会导致缓存数据丢失,需要再次去mysql查询缓存,如果缓存的数据很多,可能对mysql是灾难性的,所以,为了在断电,宕机等情况下也能在重启的时候恢复redis缓存数据,redis也提供了两种持久化方式来保存缓存数据到磁盘。是什么持久化就是说将redis缓存在内存中的数据(持久化)存在磁盘中。两种策略1、RDBrdb方式是通过在是定时间内将内存中的数据集快照(Snapshot)写入磁盘;在数据恢复时,再将快.

2020-09-17 20:00:52 258

原创 Stream流操作

Stream流创建Collection接口的stream()方法ArrayList<String> list = Lists.newArrayList("thor", "loki", "stark");Stream<String> stream1 = list.stream();Stream接口的of方法创建Stream<String> stream2 = Stream.of("thor", "loki", "stark");map操作需要传入一个Func

2020-09-12 15:51:28 361

原创 Linux日志文件查看技巧

以linux部署web项目为例,查看tomcat的日志文件全文查看cat -n catalina.log | more 日志显示行号,按enter逐行查看,按空格键翻页指定行号查看head -n 20 catalina.out 查看头20行日志tail -n 20 catalina.out 查看最后20行日志指定时间查看sed -n ‘/11-Sep-2020 17:39/p’ catalina.out  查看’11–Sep-2020 17:39’的日志清空日.

2020-09-12 11:43:48 520

原创 “史上最全“ Springboot打包war包并部署Linux

项目打包1、配置打包排除test测试类<!-- pom.xml配置 --><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> <

2020-09-11 19:09:28 2106 2

原创 Springboot配置监听器

一、创建监听器public class InitListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent event) { //获取全局域 servletcontext ServletContext servletContext = event.getServletContext();

2020-09-07 20:40:53 761

原创 SpringBoot配置文件内容读取

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言以文件上传为例,上传的路径等信息不能硬编码,配置在配置文件中是最好的选择。提示:以下是本篇文章正文内容,下面案例可供参考一、使用@Value注解在application.yml(application.properties)中配置阿里云oos文件上传参数在Controller中使用@Valu..

2020-09-05 17:58:00 547 1

原创 Springboot整合定时任务

一、启动类注解二、配置定时任务@Component@Slf4jpublic class MyScheduleTask { private int fixedDelayCount = 1; private int fixedRateCount = 1; private int initialDelayCount = 1; private int cronCount = 1; /** * 方法执行完成 3s 之后再次执行 */

2020-09-05 16:45:02 131

原创 Layui表格与文件上传组件

表格组件异步加载数据信息,在js中发送请求后台数据,后台响应json数据,然后前台再进行解析。其中比较重要的是json数据格式示例前台页面jslayui.use('table', function () { var table = layui.table; var dataTable = table.render({ elem: '#lib' , url: 'queryBookList' , toolbar: '#toolba

2020-09-05 16:05:29 1544

原创 Thymeleaf中th:href、th:src、th:onclick

Thymeleaf 中 th:href、th:src、th:onclick需要拼接动态数据时(后端传递的动态数据),需要遵守相关的语法规定。一般来说,上面的三种表达式都需要用到@{xxx},如<a th:href="@{/user/1}"></a> ==>解析完也就是 <a th:href="/user/1"></a>但是当需要进行动态拼接时,则不是简单的<a th:href="@{/user/${id}}"></a>,.

2020-09-02 19:59:38 13980 5

原创 SpringBoot 整合 Thymeleaf

添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <grou

2020-09-02 17:27:55 92

原创 springboot 入门项目搭建

项目创建方式1、通过网址https://start.spring.io/ 创建后下载,然后倒入开发工具中。2、直接在IDEA中创建3、创建Maven项目并导入相关依赖项目结构

2020-08-31 23:53:29 120

原创 Guava工具简单使用

集合操作ImmutableMap<K, V>不可变的集合,保证多线程环境下的安全封装了初始化方法,使用更加简单使用场景需要对一个值进行判断时,可能存在很多情况,不管是用if-else还是switch,代码都不够优雅。开始使用@Testvoid testImmuTable() { ImmutableMap<Integer, String> map = ImmutableMap.of(1, "Stark", 2, "Thor"

2020-08-29 15:33:11 176

原创 Idea使用指南

以前的我:Eclipse牛逼现在的我:idea它不香吗

2020-08-27 18:50:02 165 1

原创 EasyExecl简单使用

介绍对Execl进行读写操作,可以使用poi完成,但是它是将整个 Excel 的内容全部读出来放入到内存中,所以内存消耗非常严重,如果同时进行包含大数据量的 Excel 读操作,很容易造成内存溢出问题。使用EasyExecl工具类可以很好地避免上面的问题,同时对底层进行了封装,简化了代码,十分好用。使用指南依赖导入 <dependency> <groupId>com.alibaba</groupId>

2020-08-23 17:03:50 668

原创 axios简单使用

是什么Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。特性从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御 XSRF怎么做简单测试get请求json数据测试结果...

2020-08-16 14:18:57 444

原创 Vue简单入门

是什么Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。、为什么避免了页面的DOM操作(document.getElementById())提供了响应式的数据绑定(数据的双向绑定)与组件化的开发(抽象可重用代码为组件)怎么做入门程序,在html页面中测试,大致页面如下常用标签v-bind

2020-08-15 23:52:59 140

原创 MyBatis-plus代码生成插件简单使用

导入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.2</version> </dependency> <depe

2020-08-14 17:42:21 1011

原创 Swagger2 简单使用

是什么Swagger可以根据项目代码自动生成相应的api文档,协调前后端分离中个模块的开发。怎么做1、引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</v...

2020-08-14 17:06:01 2062 2

原创 手写Mybatis,源码初体验

本次目标:手写Mybatis,理解运行流程前置知识JDBC的相关操作XML文件的解析Mybatis的基本使用反射基本知识Mybatis基本运行流程读取解析配置文件–db.properties–mybatis-config.xml–mapper.xml执行SQL– 参数的解析,生成动态SQL– SQL执行– 结果集映射(封装成实体对象/集合)运行流程代码分析 /** * 解析配置文件,生成SqlSessionFactory */ Inpu

2020-08-14 16:33:00 159

原创 简单理解Java反射

是什么反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法; 并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为Java 语言的反射机制。为什么在程序中,对象的类型往往以两种形式呈现,即编译时类型和运行时类型。简单举个多态的例子Person p = new Student();这里的p编译时类型为Person,运行时类型为Student。从这个例子可以看出,多态提高了代码的灵活性。但是当我们在程序中不清楚外部传入的

2020-08-10 23:18:48 416

原创 POI操作Execl工具类简单实现

最近又在使用poi进行execl的导入导出,然后思来想去,决定简单实现一个工具类。那么问题来了,要怎么实现呢?首先肯定需要利用反射,根据列名进行值的设置。然后是实体属性与列名的对应关系(不是每个字段都对应一个execl表中的一个列),最终决定使用自定义注解实现。前置知识反射注解思路导出参数– 需要导出的数据集合。– 要导出的列名的数组操作– 遍历数据集合,创建行HSSFRow,遍历列名数组,创建列HSSFCell– 反射获取属性和列名的对应关系,在遍历列名数组创.

2020-08-05 20:57:39 214 1

原创 Left join中on和where的选择

left join 左连接,查询时以左表为主,右表中无关联信息则查询显示为空。在使用左连接进行查询时,在某些情况下on和where的选择会导致结果集的数据缺失。以kingdom表和hero表的查询为例kingdom表hero表查询一查询每个kingdom下的全部男性hero分析:查询每个kingdom下的男性hero,意味着需要查询出全部kingdom(即使没有英雄也应该查询显示出来,适合用左连接)测试正确: SELECT * FROM kingdom k left JOIN.

2020-08-04 13:31:59 360

原创 Mybatis-Plus入门(Mapper CRUD接口)

Mybatis-plus是在Mybatis的基础上做增强,为简化开发而生只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。热加载、代码生成、分页、性能分析等功能一应俱全。官网文档环境搭建(Springboot)建表CREATE TABLE `t_hero` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET u.

2020-07-29 12:57:24 710

原创 Mybatis传入多个参数

Mybatis传入多个参数顺序传参适合传入参数较少时(多的话可以用Map)// mapper接口方法List<News> selectByIdAndState(int newsId,int delState);//sql语句<select id="selectByIdAndState3" resultType="com.springboot.book.entity.News"> select * from news where news_id > #{pa

2020-07-29 09:15:28 512

原创 关于SpringMVC返回对象类型报错No converter found的问题

问题原因:No converter found (没有找到转换器),使用注解@ResponseBody注解,将方法返回数据转换成JSON数据返回。习惯了Springboot的开发,在重新整合ssm项目时,进行统一结果集封装,然后返回结果集对象,但是出现500错误。解决办法1、导入fastjson依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId&gt

2020-07-25 10:12:58 874

原创 SSM项目中时间格式问题

前言

2020-07-25 00:01:29 957

原创 Hutool工具类使用笔记

1、日期时间工具DateUtil相比SimpleDateFormat,使用更为简便,功能更全。 @Test public void test01(){ // 获取当前时间字符串 格式:yyyy-MM-dd HH:mm:ss String now = DateUtil.now(); // 获取当前时间字符串 格式:yyyy-MM-dd String today = DateUtil.today();

2020-07-21 19:55:38 3504

原创 layui表格时间类型显示问题

实体类中时间类型一般用String或者Date,前者可以直接显示在表格中,不需要进行处理。Date类型在显示需要则进行类型转换。当出现上图的问题后,我们需要进行时间类型转换。就后端而言,可以将时间使用SimpleDateFormat类进行转换后,在实体类中添加一个String类型的时间字段,然后再前端进行显示,这样的方式显然不合理,且麻烦。就前端而言,layui表格有两种方式显示表格数据:(1)手动遍历<tr><td></td></tr&gt

2020-07-21 19:15:56 5439

原创 Input框内容改变触发事件,实现表格动态模糊查询

通过给查询框添加绑定事件,实现BootStrap中输入值变化后自动查询并刷新数据,不需要点击查询按钮。

2020-07-19 00:07:53 802

原创 SpringBoot整合Mybatis

使用Idea开始第一个Spingboot项目,整合Mybatis和Thymeleaf完成简单项目框架搭建。整体项目结构开始1、new--project,选择Spring Initializr2、修改项目的信息,我这里使用默认3、选择依赖,入门项目搭建,选择两个简单的就好。web依赖数据库驱动4、项目搭建完成,然后再引入mybatis依赖和Thymeleaf依赖 <!-- thymeleaf 依赖--> &l

2020-07-11 17:30:04 192

原创 Mybatis动态SQL

trim+if 标签trim+if 标签构建插入语句//mapper接口int insert(User user);//SQL<insert id="insert"> insert into t_user <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null and id != ''">

2020-06-30 20:43:13 279

原创 SpringMVC拦截器简单使用

介绍拦截器一般用在某个方法被访问之前进行拦截,然后在方法执行之前或之后加入某些操作。使用1、创建一个SpringBoot工程,定义一个自定义拦截器类,实现HandlerInterceptor接口,重写三个方法。public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletR

2020-06-15 20:46:49 3674

原创 简单实现将JDBC ResultSet结果集映射成对象

简介JDBC查询返回ResultSet结果集,调用方法,传入要映射的对象的Class对象,利用反射获取该对象声明的全部属性,然后通过结果集获取列名,与对象的属性进行匹配然后赋值。(目前未实现泛型,只是简单的进行了结果处理,代码也存在不合理的地方)实现Book.javapublic class Book { private int id; private String bookname; private String bookauthor; priv.

2020-06-13 12:03:34 2668

原创 SpringMVC数据检验注解使用

目录基本介绍开始使用一、程序搭建二、引入相关jar包依赖三、在实体类中添加注解四、测试五、结果基本介绍JSR-303 Bean Validation 为 JavaBean 验证定义了相应的元数据模型和 API。在应用程序中,通过使用 Bean Validation 或是你自己定义的 constraint,例如 @NotNull, @Max, @ZipCode, 就可以确保数据模型(JavaBean)的正确性。Bean Validation 是一个运行时的数据验证框架,在验

2020-06-12 19:27:16 305

原创 Mybatis一对一、一对多查询

简单设计两个表,hero表和kingdom表。CREATE TABLE `hero` ( `id` int(10) NOT NULL AUTO_INCREMENT, `kingdom_id` int(10) NULL DEFAULT NULL, `hero_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `gender` varchar(255) CHARACTER SE

2020-06-09 20:44:47 447

原创 MySQL中GROUP_CONCAT和Having的使用

一、GROUP_CONCAT如图所示,是一个成绩表。通过SQL:SELECT classId AS 班级, count( * ) AS 人数, GROUP_CONCAT( NAME ) AS 学生 FROM `score` GROUP BY classId可以查询每个班的人数以及全部学生名字。二、Having接上面的学生表,添加集合函数AVG(),查询每个班级的平均分。SQL:​SELECT classId AS 班级, count( * ) A

2020-05-17 22:55:49 1113

原创 理解数据库三大范式

一、什么是范式范式就是在创建数据库是为了减小冗余,使结构合理而设计的必须遵循的规则,是在设计关系型数据库时必须满足的要求。二、三大范式1.第一范式第一范式是确保每列的原子性,即保证所有字段都是不可分解的原子值。如上图为一个用户表,address字段包含了省、市、详细地址,这样设计是不满足第一范式的。将address字段划分成省份、城市、详细地址,这样对每个字段都可以进行单独...

2019-05-26 09:51:05 326

原创 Mybatis中防止Sql注入

一、什么是Sql注入sql注入是一种代码注入技术,将恶意的sql插入到被执行的字段中,以不正当的手段多数据库信息进行操作。在jdbc中使用一般使用PreparedStatement就是为了防止sql注入。比如代码 :"select * from user where id =" + id;正常执行不会出现问题,一旦被sql注入,比如将传入参数id=“3 or 1 = 1”,那么sq...

2019-05-25 21:33:52 21872 2

原创 Java代码优化建议

1、Map遍历针对Map的遍历一般是遍历Map中的key和Value,推荐使用效率高的方式是entrySet(),因为keySet()方式需要遍历两次,一次是在迭代器遍历keySet,一次是从map中取key。 public static void main(String[] args) { Map<Integer, String> map = new HashMa...

2019-05-24 22:26:33 170

原创 浅析hashCode()、equals()

一、equals()equals()方法用来比较两个对象是否相等,在Object类中,equals方法和“==”一样,都是比较栈内存中存储的内存地址。再到String类,重写了equals方法后,比较的是值是否相同。所以,我们可以在自定义的类中重写equals方法来实现自定义的比较。public class TestEqueals { public static void main(...

2019-03-21 10:36:25 123

Java小作业-成绩管理系统(Java+mysql+swing+jdbc).rar

Java小作业-成绩管理系统 Java+mysql+swing+jdbc

2023-02-11

Java swing学生成绩管理系统小练习

Java swing课后小练习,学生成绩管理系统,Java+MySQL+Swing+JDBC

2023-02-11

book-system-ssm.sql

book-system-ssm.sql

2021-01-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除