自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 SpringMVC学习(二)—— 实现第一个MVC程序(注解版)

文章目录前言1.引入库2.注册DispatcherServlet3. 配置SpringMVC配置文件4. 配置操作业务的控制器5. 设置一个测试使用的视图页面。6.测试前言1.引入库2.注册DispatcherServlet3. 配置SpringMVC配置文件4. 配置操作业务的控制器5. 设置一个测试使用的视图页面。6.测试前言前文叙述了配置版完成第一个mvc程序,但日常开发中通常使用代码更加简洁的注解方式实现功能。本文将叙述用注解实现一个mvc的程序。1.引入库创建一个maven项目,右击.

2021-04-07 16:48:33 193 1

原创 SpringMVC学习(一)—— 理解原理并实现第一个MVC程序(配置版)

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言跟着狂神学完了spring,又来学习springmvc啦1) 什么是MVC?答:MVC是model(模型)、view(视图)、controller(控制器)的缩写。是将业务逻辑、数据、显示分离的一种架构模式。其中,model:数据模型,提供了模型数据的查询和数据状态更新等功能,包含数据和行为。view:对模型结果的展示,即用户界面所看见的结果。controller:负责接受用户请求,将请求交给模型进行处理,并将.

2021-04-07 15:47:28 207 2

原创 Spring学习(七)—— 整合Mybaits和实现事务

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、整合Mybatis1. 创建一个测试使用的数据库2. 导入包3.创建一个User实体类4.创建一个UserMapper接口5. 创建一个beans.xml配置文件6.创建UserMapper的实现类7. 注册bean8. 测试二、事务1.创建一个数据库2. 导入包3.创建一个User实体类4.创建一个UserMapper接口5.创建beans.xml配置文件6. 创建UserMapper接口的实现类7. 注册bean并使用a

2021-03-19 11:37:08 208

原创 Mybatis学习(五) —— 动态SQL的实现

文章目录前言一、环境搭建二、if三、choose - when - otherwise四、set五、foreach六、SQL片段前言1)什么是动态SQL?答:动态SQL就是根据不同的条件生成不同的SQL语句。2)优点:可摆脱SQL语句拼接带来的繁琐。接下来,将以一个实例介绍动态sql用到的标签。一、环境搭建1)创建一个测试用的到数据库中的表blog,表中的数据可任意添加。CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客i.

2021-03-15 11:36:30 283

原创 Mybatis学习(四) —— association 和 collection 的使用

文章目录前言一、多对一关系 —— association二、一对多关系 —— collection前言我们通常会遇到两组对象一对多或者多对一的关系。例如:多对一:一个班50名都有一个班主任老师,即多名同学关联一位老师。一对多:一名班主任老师管理班里50个同学,即一个集合概念。针对于上述情况,若想查询某些同学共有的老师是谁,或者一名老师带了多少位同学,则需进行老师信息表teacher与学生信息表student联表查询,就会用到下面介绍的association和collection关键词。一、.

2021-03-12 16:11:50 1409

原创 Mybatis学习(三)—— Mybatis配置文件

文章目录前言一、属性(properties)二、使用步骤1.引入库2.读入数据总结前言MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。本文通过修改前文中对Mybatis-config.xml中的内容,举例描述一些常用属性。一、属性(properties)可将例如数据库驱动、数据库url、用户登录信息这些属性写入外部配置文件中,在properties中调用。例如:创建db.properties文件,插入以下信息:driver = com.mysql.jdbc.

2021-03-09 16:40:51 198

原创 Mybatis学习(二)—— 利用XML配置文件/注解的方式实现CRUD增删改查等操作

文章目录前言一、增二、删三、改一、增前言通过前文Mybatis学习(一)—— 新手完成第一个Mybatis程序介绍的完成一个Mybatis的步骤可得,若再来新的需要操作的sql语句时,只需要更改第6步中的UserMapper接口内容,以及第7步中的Mapper.xml配置文件。很大程度简化了代码的编写。本篇文章将从修改上述两个文件的内容,实现CURD功能。一、增UserMapper.java文件中:public interface UserMapper { void addUser(.

2021-03-09 11:13:24 230

原创 Mybatis学习(一)—— 新手完成第一个Mybatis程序

文章目录一、Mybatis简介二、实现第一个Mybatis程序1.创建用于测试的数据库2. 利用maven导入包3. 创建Mybatis-config.xml配置文件4.从XML中构建 SqlSessionFactory对象的工具类5.对应于数据库中的表创建实体类User6.创建一个获取User信息的接口UserMapper7.创建接口UserMapper的配置文件Mapper.xml8.测试一、Mybatis简介1.什么是Mybatis?一个持久层(可完成数据持久化工作的代码块)框架,它支持自.

2021-03-08 15:20:11 285

原创 MySQL学习笔记(六)—— JDBC

文章目录一、名词解释二、第一个JDBC程序1.引入库2. 创建一个MySQL数据库3. 完成第一个JDBC程序三、SQL注入1.概念2. 解决方法——PreparedStatement总结一、名词解释1) 什么是JDBC?答:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,由此可以使用Java访问数据库。它由一组用Java语言编写的类和接口组成。2) 什么是数据库驱动?答:由于应.

2021-03-03 17:30:43 162 1

原创 MySQL学习笔记(五)—— 三大范式

本文借用该文中的例子阐述自己对三大范式的理解文章目录第一范式(1NF):列不可再分第二范式(2NF):各属性完全依赖于主键第三范式(3NF):属性直接依赖于主键,而不依赖于其它非主属性总结第一范式(1NF):列不可再分第一范式要求数据库表的每一列都是不可分割的原子数据项。例如:上表中的“家庭信息”和“学校信息”列中的信息还能继续划分,因此均不满足原子性的要求。故调整如下:上表中的每一列,均不可再分,因此满足第一范式。第二范式(2NF):各属性完全依赖于主键在满足第一范式的前提下,每

2021-03-02 11:32:38 263

原创 MySQL学习笔记(四)—— 权限管理与备份

文章目录一、 权限管理一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、 权限管理1)作用:添加/删除数据库用户、管理用户操作数据库的权限。2)实现:① 使用可视化工具操作:如SQLyog② SQL语句-- 1. 创建一个新用户CREATE USE username IDENTIFIED BY 'password'-- 2. 修改密码-- 修改当前用户密码SET PASSWORD = PASSWORD('new_password')-- 修改指定用户密码SET .

2021-03-02 09:36:14 77

原创 MySQL学习笔记(三)—— 索引

文章目录一、什么是索引?二、索引的分类及代码实现1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引6. 其他一、什么是索引?索引是能提高帮助MySQL高效获取数据的一种数据结构。例如:在10000一条数据中查询某条数据,若没有索引,则需以遍历的方式进行查询该数据信息;若有索引,则可通过一定的数据结构存储方式查询,以提高查询效率。二、索引的分类及代码实现1.普通索引1> 定义:是最基本的索引,它没有任何限制。2> 实现:-- 1.直接创建索引CREATE INDEX

2021-03-01 15:48:11 104

原创 MySQL学习笔记(二)—— 事务

文章目录一、什么是事务(T)二、事务管理ACID的原则1.原子性(Atomicity)2.一致性(Consistency)3.隔离性(Isolation)本系列根据狂神教学视频进行的知识点整理总结。一、什么是事务(T)在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。二、事务管理ACID的原则1.原子性(Atomicity)“要么都成功,要么都失败”举例:1.SQL执行:A给B转账,A当前余额1000元,B当前余额200元,A向B转账200元。2. SQL执行:B收

2021-03-01 10:16:49 296

原创 MySQL学习笔记(一)—— MySQL的安装和基本操作语句

文章目录前言一、MySQL的安装二、数据库基本操作语句1. 启动/停止MySQL服务2.读入数据总结前言什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。什么是关系型数据库?关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。特点:1

2021-02-01 14:04:16 184

原创 Spring5学习(六)——面向切面编程AOP

文章目录一、什么是AOP?二、采用Spring配置文件.xml实现AOP1. 导入包2. 给定一个抽象角色UserService3. 给定一个真实角色UserServiceImple4.在.xml文件中AOP的实现方式1)使用Spring中的API接口实现2)有参构造4. 测试一、什么是AOP?答:通过预编译方式和运行期动态代理实现程序功能统一维护的一种技术。第一次看完这句话我也没理解他是干嘛的,下面我将按我的理解进行解释。什么是代理?以房屋中介为例,房屋中介帮房主挂买房信息出售房屋,即房屋中

2021-01-18 16:45:54 173

原创 Spring5学习(五)——使用Java注解的方式配置Spring

文章目录前言实现方法1.创建一个测试实体类User2. 创建配置类TestConfig3. 测试前言本文在配置Spring时完全使用Java中的注解,而不是按前文所述配置Xml文件。但是会将Java中注解的功能与XML配置文件中一些语句的功能做对比,帮助理解学习。实现方法下面将以一个实例,说明如何使用Java的方式配置Spring。1.创建一个测试实体类User创建一个测试实体类User,添加属性username。需要用到的注解:@Component:该注解放在需管理的实体类前,说明该类被

2021-01-13 20:56:15 174

原创 Spring5学习(四)——注解开发

文章目录前言一、导入包二、导入约束,开启注解支持三、 添加注解1. 添加方法2. 代码示例四、衍生注解前言前文介绍了在.xml文件中开发的方法。相对与注解来讲,xml更加使用于任何场合,维护起来更加方便。本文介绍的注解开发,不是自己的类使用不了,维护起来相对麻烦。但是,可将xml开发和注解开发搭配使用,xml管理bean,注解负责完成属性的注入即可。一、导入包导入依赖spring-webmvc,确定其中的aop包已导入<dependency> <groupId>o

2021-01-13 16:14:37 109

原创 Spring5学习(三)——实现Bean的自动装配

文章目录前言一、byName实现自动装配二、byTpye实现自动装配三、注解@Autowired实现自动装配四、利用Java中的注解@Resource实现自动装配前言Bean的装配方式有三种:.xml文件中显示配置。前文示例在Java中显示配置。隐式自动配置。一、byName实现自动装配方法:在xml文件中添加 <bean id="xxx" class="xxx" autowire="byName">注意: byName会自动在容器上下文查找和bean对象set方法传入参

2021-01-12 17:24:13 127

原创 Spring5学习(二)—— 依赖注入

文章目录前言一、构造器注入二、set方法注入三、扩展方法注入1. p-命名空间2. c-命名空间前言依赖:Bean对象的创建依赖于Spring容器。注入:Bean对象的所有属性都由Spring容器注入依赖注入的三种方式:构造器注入set方法注入拓展方法注入一、构造器注入即实体类有参构造时,向有参构造器中输入属性值。示例其在.xml配置文件中注入方式为: <bean id="username" class="com.yumi.User"> <!-- 1.下标赋值

2021-01-12 10:52:12 178

原创 Spring5学习(一)——控制反转IOC

文章目录Spring配置文件:采用xml配置Bean1. 导入包2. 给定一个测试实体类User3. 在.xml文件中IOC创建对象的方式1)无参构造2)有参构造4. 测试5. 在.xml中Bean的其他配置# 什么是Spring?Spring是一个开源的、轻量级的控制反转(IOC)和面向切面编程(AOP)的Java开发框架,目的是为了简化代码。# 什么是控制反转IOC?百度百科给出的解释为:**控制反转(Inversion of Control,缩写为IoC)**,是面向对象编程中的一种设计原

2021-01-11 16:16:01 163 2

原创 Java多线程实现(四)——线程池

文章目录前言实现步骤代码——仿真银行窗口办理业务前言使用线程池的背景经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。解决上述问题的思路提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。线程池好处1) 提高响应速度2) 降低资源消耗3) 便于线程管理实现步骤创建一个线程池服务ExecutorService:真正的线程池接口,常见子类为ThreadPoolExecutor。Executors:工具类.

2021-01-04 16:24:47 131

原创 Java多线程实现(三)——线程状态

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一个线程有图上五种状态,本文将总结狂神视频中改变线程状态的方法。一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot a

2020-12-29 17:33:16 119

原创 Java多线程实现(二)——实现Runnable接口

文章目录前言实现步骤实例——龟兔赛跑总结前言什么是多线程?我的理解为:将100辆汽车行驶的公路从单车道改成三车道,使得多条车道同时有车行驶,解决拥堵和时长问题。于是跟着狂神的视频对该部分内容进行学习。实现步骤本篇博文通过实现Runnable接口实现多线程任务。其实现步骤为:1) 自定义的线程类实现Runnable接口2) 重写run()方法,编写线程执行体3) 创建线程类对象object,**new Thread(object).start()**启动线程。实例——龟兔赛跑目.

2020-12-28 10:48:25 264 1

原创 Java多线程实现(一)——继承Thread类

文章目录前言实现步骤实例——多线程下载图片前言什么是多线程?我的理解为:将100辆汽车行驶的公路从单车道改成三车道,使得多条车道同时有车行驶,解决拥堵和时长问题。于是跟着狂神的视频对该部分内容进行学习。实现步骤本篇博文通过继承Thread类实现多线程任务。其实现步骤为:1) 自定义的线程类继承Thread类2) 重写run()方法,编写线程执行体3) 创建线程对象,调用start()方法启动线程。实例——多线程下载图片目标:实现多线程下载网页上的图片到本地导入的包:comm.

2020-12-25 17:06:02 413

原创 leetcode下的Java学习(五)—— 设计循环队列

文章目录前言一、设计循环队列循环队列的工作原理代码二、内置队列库及其常见操作常见操作代码实例前言为解决空间受限制队列出现的资源浪费,循环队列重用队列浪费的资源。循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。本文分别循环队列的设计和使用内置队列库及其常见操作。可参考leetcode中循环动画理解一、设计循环队列循环队列的工作原理在循环队列中,我们使用一个数组q和两个指针(head 和 tail)。

2020-12-14 16:56:50 78

原创 【JAVA后端三】新手创建Java Web工程

章节索引前言一、 IDE的选择与安装二、创建并配置项目三、实现1. 目标2. 实现该功能所需的类各类功能介绍对客户端请求的接收应答流程梳理各类的实现代码2.读入数据总结前言实现《新手在服务器上实现Java Web基础后端操作》一文中的Java Web工程。一、 IDE的选择与安装本文选择的IDE是NetBeans。可参照该文对NetBeans进行安装。二、创建并配置项目可参照该文在NetBeans中新建一个Java Web项目,并引入所依赖的jar包。三、实现1. 目标在浏览器上完成账号

2020-11-19 20:41:03 449

原创 【JAVA后端二】在服务器上建立maria数据库

建立过程前言一、 安装MariaDB二、操作步骤tips1.查看数据库状态/启动数据库2. 进入数据库3. 创建一个数据库4. 切换到该数据库下5. 在该数据库下创建一个表6. 增7. 删8. 改9. 查10. 查看数据库中所有表信息11. 查看所有数据库信息12. 删除数据库中的表13. 删除数据库总结前言本文旨在帮助新手在服务器centos7 上建立mariaDB。一、 安装MariaDBMariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护。主要操作流程参照如下帖

2020-11-19 16:42:49 214

原创 【JAVA后端一】新手在服务器上实现Java Web基础后端操作

后端操作过程前言简述后端响应请求流程过程购买服务器配置服务器环境安装MariaDB安装JDK1.8安装Tomcat总结前言一个记录贴,之前从未接触过这一方面,可以说是个崭新的小白操作。如果你和我一样,该帖子应该会对你产生帮助。简述后端响应请求流程过程购买服务器可选择阿里云服务器,价格对学生党很友好。配置服务器环境安装MariaDBMariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护。主要操作流程参照如下帖子:centos7 下安装MariaDB安装JDK1

2020-11-09 10:24:27 684 1

原创 leetcode下的Java学习——综述

Java学习记录前言学习记录过程前言该系列blog中记录了做leetcode算法题过程中对数据结构常用方法的总结。会持续更新。学习记录过程https://blog.csdn.net/weixin_44382915/article/details/109381749

2020-11-02 15:36:51 87

原创 leetcode下的Java学习(四)—— 可对字符串修改的StringBuffer类

StringBuffer 类常用操作简介初始化追加元素删除元素字符串翻转插入元素修改元素替代元素其他简介当对字符串进行修改的时候,可使用 StringBuffer类。其对象能够被多次的修改,并且不产生新的未使用对象。初始化 StringBuffer s1 = new StringBuffer();追加元素s1.append(String s);删除元素s1.deleteCharAt(1); // 删除s1中索引为1的元素s1.delete(int beginIndex, int end

2020-11-02 15:25:45 395

原创 leetcode下的Java学习(三)—— 可动态修改数组的ArrayList类

ArrayList类基本方法简介引入库初始化添加元素访问元素修改元素删除元素计算大小遍历数组列表简介ArrayList 继承了 AbstractList ,并实现了 List 接口。是一个可以动态修改的数组。没有固定大小的限制,可以添加或删除元素。引入库import java.util.ArrayList;初始化一维数组ArrayList<引用数据类型> arr = new ArrayList<>();同样可是使用下面的方法:List<引用数据类

2020-11-02 11:41:48 212

原创 leetcode下的Java学习(二)—— 字符串String类

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2020-11-02 10:38:37 801

原创 leetcode下的Java学习(一)—— 数组

数组基本操作一维数组创建数组读取第i个元素获取数组长度遍历数组数组作为参数传入/返回值返回二维数组创建数组获取行号和列号遍历Arrays 类数组间比较数组转字符串按升序排序二分法查找定值对象示例双指针应用情景一:从两端向中间迭代数组情景二:原地修改数组其他一维数组创建数组两种常用方式:1.初始化固定大小的数组,后再重新赋值。若不重新赋值,则数组中元素值为对应dataType的默认值。dataType[] array = new dataType[size];array[0] = value0;

2020-10-30 17:27:45 204

原创 解决Keras下训练CNN模型时,Loss值不断增大问题

背景在服务器上训练用keras写的Lenet5的cnn分类模型过程中,发现训练一开始训练的loss值、测试的loss值都在不断增大。如下图:(值大到吐血)于是乎,开始心酸找错历程(暴哭)解决过程1.通常先查看数据集。图像和标签是否对应。没问题(√)2.模型结构问题,特别是最后输出时种类个数对不对。没问题(√)3.权重初始化问题。训练之前模型自动初始化。没问题(√)4.选择合适的激...

2019-10-24 21:25:34 7967 4

原创 修改captcha包中image.py文件生成不改变字符形状的有背景和无背景文本验证码

前言第一次写blog。主要记录一下平时在实验室所进行的工作内容。(希望自己可以坚持每周来做个总结哈哈哈哈哈)还是一枚小白,代码方面写的应该有很多问题。希望自己可以不断加油啦~进入正题本项工作主要是修改capycha包中的image.py文件,再利用验证码自动生成的程序,同时生成不改变验证码字符形状的有背景和无背景文本验证码。实验效果图如下: 图1 有背景文本验证码和无背景验证码...

2019-10-05 20:43:28 1602

空空如也

空空如也

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

TA关注的人

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