
后端
后端相关的技术栈
杨.某某
记录一些日常学习的相关笔记
java、spring、springboot、springcloud、vue、js、ts、docker等相关学习笔记
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hibernate简单模板代码~
hibernate概念:hibernate是一个开放源代码的对象关系映射框架,封装了JDBC的持久化框架,是用来操作数据库的。它把数据库中的表,转换成java类,通过xml文件来实现类和表之间的映射。这样的好处在于,可以用面对对象的思想来操作数据库~,它可以自动生成SQL语句,自动执行。下面是我写的模板:先生成一个Student类;package cn.edu.hpu.entit...原创 2018-08-21 20:40:24 · 916 阅读 · 0 评论 -
mysql 8.0.12版本安装详解以及连接Navicat步骤
安装mysql:压缩包下载地址:mysql压缩包下载地址然后下载到电脑上解压达到文件夹内即可。区别mysql 8.0 和 mysql 5.0版本是有区别的具体看以下博客:点击链接查看说明 MySQL5.7及以上版本,是因为从MySQL5.7版本之前后发生了变化,以前MySQL的密码认证插入是“mysql_native_password”,而现在使用的是...原创 2018-08-11 11:29:31 · 16639 阅读 · 7 评论 -
一、MyBatis:简介、第一个程序
本文参考狂神博客,我的搬博客的时候格式错了,就丢了(点击打开)环境说明:jdk 8 +MySQL 5.7.19maven-3.6.0IDEA学习前需要掌握:JDBCMySQLJava 基础MavenJunitMybatis简介什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程...原创 2020-03-20 16:29:22 · 210 阅读 · 0 评论 -
二、mybatis:CRUD操作
CRUD操作本文参考自狂神博客(点击打开)namespace1.将上面案例中的UserMapper接口改名为 UserDao;2.将UserMapper.xml中的namespace改为为UserDao的路径3.再次测试结论:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!selectselect标签是mybatis中最常用的标签...原创 2020-03-20 16:32:27 · 136 阅读 · 0 评论 -
三、mybatis配置解析
1.核心配置文件mybatis-config.xmlmybatis 的配置文件包含了会深深影响mybatis行为的设置和属性信息configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境...原创 2020-03-20 16:31:04 · 157 阅读 · 0 评论 -
JDBC连接数据库
JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将JAVA代码连接到oracle、DB2、SQLServer、MYSQL等数据库,从而实现对数据库中的数据操作的目的。一、JDBC简介JDBC全称为:Java Data Base Connectivity (java数据库连接),可以为多种...转载 2018-08-01 17:28:06 · 432 阅读 · 0 评论 -
JDBC连接MySQL数据库
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更...转载 2018-08-01 16:51:57 · 403 阅读 · 0 评论 -
Spring:第一个程序、对象创建方式、配置说明
本文转自狂神博客导入Jar包注 : spring 需要导入commons-logging进行日志记录 . 我们利用maven , 他会自动下载对应的依赖项 .<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifac...转载 2020-03-20 16:34:07 · 152 阅读 · 0 评论 -
JavaWeb学习笔记-----基本概念(一)
1、基本概念感谢UP主狂神1.1 前言web开发:web:网页的意思静态webhtml、css提供给所有人看的数据始终不会发生变化动态web淘宝、几乎所有的网站;提供给所有人看得数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:servlet/jsp , ASP,PHP在java中,动态web资源开发的技术统称为Javaweb;...原创 2020-03-26 18:27:53 · 229 阅读 · 0 评论 -
JavaWeb学习笔记-----web服务器、Tomcat、HTTP(二)
2、web服务器2.1 技术讲解ASP:微软:国内最早流行在HTML中嵌入了VB的脚本,ASP+COM;在ASP开发中,基本一个页面都有几千行的业务代码,页面及其混乱维护成本高<html> <head> </head> <body> <h1> </h1> ...原创 2020-03-29 19:47:39 · 361 阅读 · 0 评论 -
冒泡和选择排序java实现
排序算法(一)java中的关于排序的算法其实直接就可以调用就好了,但是有时候面试的时候还是会用到,所以还是学习一下的比较好~故此记笔记于下:冒泡排序冒泡就是相邻的两个数进行比较,然后将小的数放到前面,大的数放到后面,等第一轮比下来的时候最大的数就到最后面下一次比较就可以不用管它了。就好像水里面的气泡一般,大的气泡总是先冒出来…很难理解?直接看下面的例子。冒泡排序:arr[ 9, 8 ,10 , 7 , 6 , 0 , 11 ]参与排序数据: 9 8 10 7 6 0 11第一次循环:原创 2020-07-23 08:20:39 · 224 阅读 · 0 评论 -
java数组扩容和拷贝
数组扩容和拷贝方法本文主要介绍java提供的是数组拷贝和扩容方法。Arrays.copyOf原数组 = Arrays.copyOf(原数组,要扩容的长度 );废话不多说,直接先上代码:import java.util.Arrays;public class ArrayCopy { public static void main(String[] args) { int[] arr = {1,2,3,4}; System.out.print("扩容前原创 2020-07-18 17:10:03 · 304 阅读 · 0 评论 -
java-多线程修炼功法(一)
java多线程(一)声明:本博客只用于本人笔记,不保证笔记正确性,但欢迎指出错误,如有遇喷子,直接反击加举报~~进程、线程进程是是一个应用程序(1个进程是一个软件)。线程是一个进程中的执行场景/执行单元。一个进程可以是多个线程。例如:对于java程序来说,当在DOS命名窗口中输入:java HelloWorld回车之后。会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法。同时再启动一个垃圾回收线程负责看护,回收垃圾。最起码,现在的java程序中至少有两个线程并发,一个是原创 2020-08-01 21:05:38 · 214 阅读 · 0 评论 -
java日期实现和转化
java中日期Date注意要导包!!java中的日期主要是靠Date来获取,观察一下代码:import java.util.Date;import java.text.SimpleDateFormat;public class DateTest{ public static void main(String[] args){ Date d = new Date(); System.out.println(d);//会默认去调用toString()方法 }}运行结果如原创 2020-07-20 19:54:03 · 254 阅读 · 0 评论 -
java中StringBuffer和StringBuilder构造方法和方法详解
由于中文API文档翻译不是太好,所以单独拿出来自己搞一遍顺便记录一下,由于他们俩个的方法和构造方法都差不太多,所以就写一块了,反正多数的都通用~构造方法用途和解释StringBuffer()构造一个初始值为""的StringBuffer,初始初始容量为16个字符。StringBuffer(CharSequence seq)根据给定的字符序列(字符串)构建 StringBuffer,初始值是给定的字符序列方法用途于解释StringBuffer appe原创 2020-08-01 14:38:30 · 377 阅读 · 0 评论 -
java匿名内部类
java匿名内部类什么是内部类内部类:在类内部又定义了一个新的类,就被称为内部类。内部类的分类静态内部类:类似于静态变量实例内部类:类似于实例变量局部内部类:类似于局部变量内部类是可以用访问修饰符来修饰的使用内部类编写的代码,可读性很差,所以能不用尽量不用。下面来看看他们怎么写的:public class Day7_18_01{ //该类在类的内部所以被称为内部类 //该类是静态的所以是静态内部类 static class Testt01 { } //该类在类原创 2020-07-18 21:51:23 · 161 阅读 · 0 评论 -
java中finalize()方法
finalize垃圾回收机器(Garbage Collection),也叫GC,垃圾回收器主要有一下特点:当对象不再被程序所使用的时候,垃圾回收器将会将其回收垃圾回收是在后台运行的,我们无法命令垃圾回收器马上回收资源,但是我们可以告诉他可以尽快回收资源(System.gc()和Runtime.getRuntime().gc())垃圾回收器在回收某个对象的时候,首先会调用该对象的finalize()方法GC主要针对堆内存单例模式的缺点finalize()是Object里面的一个方法,当一个堆原创 2020-07-14 10:51:43 · 33255 阅读 · 21 评论 -
java抽象类和接口的简介和区别
java抽象类和接口抽象类java中的抽象类是一个特殊的类,可以说它的存在就是为了让子类来继承的,既然涉及到继承就证明了抽象类中是有默认的构造方法的。1.什么是抽象类含有抽象方法的类叫抽象类,那什么又是抽象方法呢?抽象方法就是在普通类的基础增加了一个abstract关键字,并且被abstract关键字修饰的方法不能拥有方法体(不能拥有大括号)。因为抽象方法都用abstract修饰,所以抽象方法所在的抽象类也要用abstract来修饰以此来提高抽象方法的清晰度。子类(普通子类)继承抽象父类时必须原创 2020-07-31 10:23:03 · 115 阅读 · 0 评论 -
java中String构造方法以及方法中文详解
StringString字符串,顾名思义,就是很多和字符一个个串起来成为的字符串。它底层是其实就是用char数组,String类被final修饰,所以不能被继承方法/构造方法解释/含义/用法String()创建新String对象,它的初始值是一个空字符 ("" -> new char[]{’’})String(char[] value)创建新String对象,它的值是char数组里面所有的元素拼接而成的一个字符串String(char[] value, int原创 2020-08-01 14:22:19 · 497 阅读 · 0 评论 -
java里面的日历类的用法解析
java中的日历java中的日历类在java.util.Calendar包底下,所以每次在使用的时候都需要导包。日历是一个抽象类,不能实例化,但是可以通过Calendar.getInstance()来创建实例。为什么把这个Calendar声明称抽象的呢,因为这个日历每个国家或者是每个民族的计时方式不一样,或者或宗教信仰不一样的时候时间的计数方法也不一样。所以很难搞,java为我们写好了,只需要直接调用就好了。例如:Calendar calendar1 = Calendar.getInstance(原创 2020-08-03 21:47:28 · 639 阅读 · 0 评论 -
java构造方法和普通方法区别
java构造方法和普通方法构造方法构造方法也叫做构造器,使用来创建一个实例对象的。1.构造方法必须和类名一致,并且没有返回值public class Test{ public Test(){ }}注意:构造方法没有返回值,所以也就没有return 。2.在实例化对象的时候其实调用的就是构造方法public class Test01{ public Test01(){ System.out.println("构造方法被调用了~~~");原创 2020-07-27 16:26:19 · 3520 阅读 · 0 评论 -
超简单的JDK环境变量配置
感觉基础忘得有点严重,所以从零开始重新复习一遍,或者说是加强一遍~安装JDK我安装的JDK版本是13版本的,直接双击.exe文件一路点击下一步就可以(也就是说安装到了默认的位置)配置环境变量点击我的电脑右键 —> 点击属性 —> 点击高级属性 —> 环境变量选中Path编辑,将java安装目录下的bin路径复制过来,然后点击新建,将路径复制进去就OK比如我的电脑的路径(默认安装位置)就是:C:\Program Files\Java\jdk-13.0.2\bin最原创 2020-07-13 18:49:25 · 771 阅读 · 1 评论 -
java静态方法和静态属性到底能不能被继承?
java中的静态方法或是静态属性能不能被继承先来做一个实验//父类class Father{ public static String str = "Father类中的静态属性"; public String s = "Father中的非静态属性"; public static void fun(){ System.out.println("Father类中的静态方法"); } public void f(){ System.out.println("Father中的非静原创 2020-07-29 10:00:48 · 4158 阅读 · 6 评论 -
servlet工具类封装实现
本文主要是用原生的servlet封装成的工具类package com.util;import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.ConvertUtils;import org.apache.commons.beanutils.Converter;import java.text.ParseException;import java.text.SimpleDateFormat;原创 2020-09-07 21:27:03 · 380 阅读 · 0 评论 -
IDEA启动tomcat控制台出现中文乱码问题完美解决方案(亲测有效)
最近在IDEA上配置Tomcat服务器的时候控制台的日志文件出现中文乱码,然后在网上找了很多种办法都没有效果,最后自己鼓捣了一下还是解决了,并不是像其他人的那么复杂改这改那,改各种配置文件。不用那么麻烦!!!先来看一下我的中文乱码:NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.原创 2020-08-31 19:56:21 · 6626 阅读 · 9 评论 -
原生的servlet文件下载实现
文件下载是很多项目中比不可少的一个需求,下面用最原生的servlet来实现文件的下载功能。记录一下实现的代码,方便以后忘记的时候再来温习一下~package com.service;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annotation.WebServlet;原创 2020-09-03 20:02:51 · 274 阅读 · 0 评论 -
ServletContext初步理解笔记
ServletContext笔记ServletContext:解释为servlet的上下文,当项目部署到服务器的时候,服务器会为这个项目创建一个对象,而这个对象就是ServletContext对象,并且这个对象是全局唯一的,而且所有的servlet都共享这个对象。可以理解为全局程序共享对象。从图中就可以很清晰看出,并不是一个servlet对应一个servletContext,而是一整个项目只有一个servletContext。1.1 四大域对象域对象范围具体类page仅在j原创 2020-10-21 14:37:44 · 333 阅读 · 4 评论 -
基于mybatis--pageHelper的分页工具类实现带参查询工具类pageInfo
mybatis的分页工具已经写得很完美了,还可以根据各种数据库方言进行改变,唯一的遗憾的就是不支持带参查询。我将其pageInfo改进了一下。实现了带参查询~记录一下:package com.yyc.util;import com.github.pagehelper.PageHelper;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.contex原创 2020-10-21 14:48:02 · 515 阅读 · 0 评论 -
maven配置安装与使用
1.安装maven1.下载maven压缩包,可以直接去官网下载(传送门)我自己下载的是3.6.3版本的。下载以后解压然后配置环境变量,选系统变量,然后新建一个,然后变量名命名为MAVEN_HOME,变量值是maven的安装解压路径。随后在配置path路径然后新建一个将一下代码粘贴进去%MAVEN_HOME\bin%然后确定就OK。最后来检测一下是否安装成功:win+R建输入cmd,键入mvn -v 如果安装成功会出现以下图片显示的内容。此时maven就安装成功了。2.将m原创 2020-09-04 20:37:09 · 263 阅读 · 0 评论 -
servlet+jsp 展示数据库中的记录数
需求用servlet + jsp将数据库中的数据数据展示到前台。数据库中的数据:要使用到的JDBCUtil.class工具类(点我打开)servlet代码package com.jsp;import com.util.JDBCUtil;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import原创 2020-09-08 10:24:59 · 604 阅读 · 0 评论 -
查询多表的3种方式
1.内连接(等值连接 )等值连接select * from t_class c,t_teacher t where c.class_teacher = t.tea_id内连接select * from t_class c inner join t_teacher t on c.class_teacher = t.tea_id2.外连接左外select * from t_class c left join t_teacher t on c.class_teacher = t.tea_id右外原创 2020-10-21 14:57:41 · 2003 阅读 · 0 评论 -
servlet实现前后端用户名密码以及验证码校验
本文主要是用于记录原生的servlet生成验证码、前后端数据的获取,最终完成用户名、密码和验证码的验证。一、验证码的生成这个我其实在其他的博客也有写过,但是没有具体的使用,下面正式的使用一下。验证码生成类package com.service;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.se原创 2020-09-07 20:41:16 · 2147 阅读 · 0 评论 -
原生的JDBC工具类封装
无论是mybatis还是hibernate都是只是将JDBC进行了封装,于是乎参考了老师的套路自己也封装了一些功能。说不定对于以后学习mybatis和hibernate的时候会有帮助。功能主要包括:本工具类包含了JDBC的常用的增删改查操作查询包括:单表查询单表条件查询多表查询多表联合加条件查询分页查询满足条件的记录数根据主键查询等原生的JDBC操作…上代码:package com.util;import com.alibaba.druid.pool.DruidDataS原创 2020-09-03 19:47:21 · 545 阅读 · 0 评论 -
servlet实现记录上次登录的时间
本文主要是用servlet技术实现记录上次登录的时间,中间主要使用cookie来记录上一次登录的值,其中用户名和密码是用SQL语句从数据中查询出来对比的。前端页面:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登陆界面</title> <script src="js/jquery-1.8.3.js">&l原创 2020-09-07 21:32:46 · 858 阅读 · 0 评论 -
mybatis dao方法多个参数时的取值方法
1.使用参数的位置0代表第一个参数,1代表第二个参数…依次类推,例如要取第二个参数:#{1}2.使用命名式占位符param1代表第一个参数,param2代表第二个参数…依次类推,例如要取第二个参数:#{param2}3.使用@org.apache.ibatis.annotations.Param在方法形参上标注参数名称public int out(@Param("no") String no, @Param("amont") int amont);例如要取第二个参数:#{amont}...原创 2020-10-21 14:59:58 · 433 阅读 · 0 评论 -
mysql日期转换函数记录
日期转换为字符串函数:date_format(date,format)例如:select date_format(SYSDATE(),'%Y-%m-%d %H:%i:%s')format格式: y 两位数年 Y 四位数年 m 月 d 日 h 小时 12小时制 H 小时 24小时制原创 2020-10-21 15:02:06 · 169 阅读 · 0 评论 -
dubbo 20880端口被占用的几种解决方案记录
dubbo 20880端口被占用的几种解决方案记录今早起来的时候发现dubbo的20880端口被占用了,下面提供目前我所知的几种解决方案,如有错误,欢迎指正~Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to bind NettyServer on /*.*.*.*:20880, cause: Failed to bind to: /0.0.0.0:20880 at com.alibaba.dubbo.remoti原创 2020-11-04 09:56:29 · 11992 阅读 · 1 评论 -
mysql 常用函数
1.find_in_set()# 查找x在y中的位置(从1开始),如果没找到,则返回一个0find_in_set(x,y) 使用示例1:select * from sys_dept where find_in_set('101',ancestors);使用示例2:select dept_id,find_in_set('101',ancestors) from sys_dept ;使用示例3:select dept_id,if(find_in_set('101',ancesto原创 2021-04-04 15:12:53 · 299 阅读 · 0 评论 -
jsp页面中的input框时间格式化解决方案
jsp页面中的input框时间格式化解决方案不推荐一下这种写法:<input name="xxx" value="<fmt:formatDate value="${xxx}" pattern="yyyy-MM-dd HH:mm:ss"/>"直接在后台转化// date属性 private Date employeeExpireTime; // 将date类型转化为String类型的属性 private String employeeExpireTimeStr;原创 2020-10-30 11:52:13 · 2502 阅读 · 0 评论 -
springmvc静态资源处理手法
第一种:spring文件里面配置 <!-- 以下路径不会被当控制器拦截,当静态资源处理 --> <mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/js/**" location="/js/" /> -->/* :原创 2020-10-21 15:09:58 · 161 阅读 · 0 评论