自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 CSS-一小时学会CSS系列

CSS:页面美化和布局控制1. 概念: Cascading Style Sheets 层叠样式表 * 层叠:多个样式可以作用在同一个html的元素上,同时生效2. 好处: 1. 功能强大 2. 将内容展示和样式控制分离 * 降低耦合度。解耦 * 让分工协作更容易 * 提高开发效率3. CSS的使用:CSS与html结合方式 1. 内联样式 * 在标签内使用style属性指定css代码 * 如:<div style="color:red;">hello

2020-07-30 19:12:42 225

原创 HTML-表单标签详解

HTML标签:表单标签* 表单: * 概念:用于采集用户输入的数据的。用于和服务器进行交互。 * form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围 * 属性: * action:指定提交数据的URL * method:指定提交方式 * 分类:一共7种,2种比较常用 * get: 1. 请求参数会在地址

2020-07-30 11:15:46 451

原创 HTML-一小时学会HTML【最全总结】

内容1. web概念概述2. HTMLweb概念概述* JavaWeb: * 使用Java语言开发基于互联网的项目* 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端程序,在远程有一个服务器端程序 * 如:QQ,迅雷... * 优点: 1. 用户体验好 * 缺点: 1. 开发、安装,部署,维护 麻烦 2. B/S: Browser/Server 浏览器/服务器端 * 只需要一个浏览器,用户通过不同的网址(

2020-07-29 19:15:26 400

原创 JDBC-数据库连接池C3P0、Druid及Spring JDBC小结

内容1. 数据库连接池2. Spring JDBC : JDBC Template数据库连接池1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。2. 好处: 1. 节约资源 2. 用户访问高效3. 实现: 1. 标准接口:DataSource javax.sql包下的 1. 方法: * 获取连接:getCon

2020-07-29 11:28:32 194

原创 JDBC-Spring JDBC之JDBCTemplate对象详解

1.基础概念Spring JDBC * Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发 * 步骤: 1. 导入jar包 2. 创建JdbcTemplate对象。依赖于数据源DataSource * JdbcTemplate template = new JdbcTemplate(ds); 3. 调用JdbcTemplate的方法来完成CRUD的操作 * update():执行DML语句。增、删、改语句 * queryFor

2020-07-29 11:24:42 444

原创 JDBC-Druid数据库连接池实现技术详解

基本概括------阿里巴巴提供Druid:数据库连接池实现技术,由阿里巴巴提供的 1. 步骤: 1. 导入jar包 druid-1.0.9.jar 2. 定义配置文件: * 是properties形式的 * 可以叫任意名称,可以放在任意目录下 3. 加载配置文件。Properties 4. 获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory 5. 获取连接:getConnection * 代码: //3.加

2020-07-28 21:18:28 644

原创 JDBC-C3P0数据库连接池详解

C3P0:数据库连接池技术 * 步骤: 1. 导入jar包 (两个) c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar , * 不要忘记导入数据库驱动jar包 2. 定义配置文件: * 名称: c3p0.properties 或者 c3p0-config.xml * 路径:直接将文件放在src目录下即可。 3. 创建核心对象 数据库连接池对象 ComboPooledDataSource 4. 获取连接: g

2020-07-28 15:40:05 243

原创 JDBC-使用C3P0数据库【不兼容的类型: com.mchange.v2.c3p0.ComboPooledDataSource无法转换为com.mchange.v2.c3p0.DataSouces】

这里记录一个很弱智的错误,虽然错误很弱智,但是这个弱智错误让我找了快两个小时!!!!!使用C3P0连接池时目录结构该导入的jar包和配置文件都导入了代码package datasource.c3p0;import com.mchange.v2.c3p0.ComboPooledDataSource;import com.mchange.v2.c3p0.DataSources;import java.sql.SQLException;public class C3P01{ pu

2020-07-28 11:33:06 2023

原创 JDBC基本概念、快速入门 、接口和类详解【全网最全总结】

内容1. JDBC基本概念2. 快速入门3. 对JDBC中各个接口和类详解JDBC:1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。2. 快速入门: * 步骤: 1. 导入驱动jar包 mysql-c

2020-07-27 17:30:44 116

原创 JDBC-事务的控制详解

JDBC控制事务: 1. 事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。 2. 操作: 1. 开启事务 2. 提交事务 3. 回滚事务 3. 使用Connection对象来管理事务 * 开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务 * 在执行sql之前开启事务 * 提交事务:commit() * 当所有sql都执行完提交事务 * 回

2020-07-27 17:22:06 525

原创 JDBC-PreparedStatement类详解(解决SQL注入)

PreparedStatement:执行sql的对象 1. SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题 1. 输入用户随便,输入密码:a' or 'a' = 'a 2. sql:select * from user where username = 'fhdsjkf' and password = 'a' or 'a' = 'a' 2. 解决sql注入问题:使用PreparedStatement对象来解决 3. 预编译的SQ

2020-07-26 23:28:20 442

原创 JDBC-使用JDBCUtils工具类实现用户登陆案例

需求:1. 通过键盘录入用户名和密码2. 判断用户是否登录成功* select * from user where username = “” and password = “”;* 如果这个sql有查询结果,则成功,反之,则失败1、创建数据库CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(32), PASSWORD VARCHAR(32) );..

2020-07-26 22:17:26 377 2

原创 JDBC-ResultSet类和JDBCUtils工具类的详解及实现【全网最全】

ResultSet:结果集对象,封装查询结果 * boolean next(): 游标向下移动一行,判断当前行是否是最后一行末尾(是否有数据),如果是,则返回false,如果不是则返回true * getXxx(参数):获取数据 * Xxx:代表数据类型 如: int getInt() , String getString() * 参数: 1. int:代表列的编号,从1开始 如: getString(1) 2. String:代表列名称。 如: ge

2020-07-26 20:36:34 734 1

原创 JDBC-DriverManager、Connection、Statement类的详解

1. DriverManager:驱动管理对象 * 功能: 1. 注册驱动:告诉程序该使用哪一个数据库驱动jar static void registerDriver(Driver driver) :注册与给定的驱动程序 DriverManager 。 写代码使用: Class.forName("com.mysql.jdbc.Driver"); 通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块 static {

2020-07-26 12:29:15 530

原创 JDBC怎么学,这样学!!!

概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库* JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。快速入门:步骤:导入驱动jar包 mysql-connector-java-5.1.37-bin.jar1.复制mysql-connector-java-5.1...

2020-07-26 09:45:45 268 1

原创 计蒜客-踏青(DFS)

蒜头君和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 444 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有格子之间都能通过上下左右连通。如果用’#‘代表草丛,’.'代表空地,下面的峡谷中有 222 片草地。##....##处在同一个草地的 222 个人可以相互看到,空地看不到草地里面的人。他们发现有一个朋友不见了,现在需要分头去找,每个人负责一片草地,蒜头君想知道他们至少需要多少人。输入格

2020-07-24 22:56:24 638 2

原创 计蒜客-中国象棋(DFS)

中国象棋博大精深,其中马的规则最为复杂,也是最难操控的一颗棋子。我们都知道象棋中马走"日",比如在 (2,4)(2, 4)(2,4) 位置的一个马,跳一步能到达的位置有 (0,3)(0, 3)(0,3),(0,5)(0, 5)(0,5),(1,2)(1, 2)(1,2),(1,6)(1, 6)(1,6),(3,2)(3, 2)(3,2),(3,6)(3, 6)(3,6),(4,3)(4, 3)(4,3),(4,5)(4, 5)(4,5)。蒜头君正在和花椰妹下棋,蒜头君正在进行战略布局,他需要把在 (x

2020-07-24 20:32:43 1507 2

原创 Mysql基本操作入门-01

Mysql-01数据库的基本概念MySQL数据库软件安装卸载配置SQL数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL4. 常见的数据库软件 * 参见《MySQL基础.pdf》MySQL数据库软件1. 安装 * 参见《MyS

2020-07-24 18:57:22 88

原创 Java白盒测试、反射、注解【最全总结12764字】

主要内容1. Junit单元测试2. 反射3. 注解Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方

2020-07-24 18:44:28 251

原创 Java【Stream流、方法引用】总学不会怎么办?看它!!!

Java【Stream流、方法引用】主要内容Stream流方法引用目标 能够理解流与集合相比的优点 能够理解流的延迟执行特点 能够通过集合、映射或数组获取流 能够掌握常用的流操作 能够使用输出语句的方法引用3 能够通过4种方式使用方法引用 能够使用类和数组的构造器引用8第一章 Stream流说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于

2020-07-23 17:14:07 293

原创 Java中Stream流详解 和 练习

说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。1.Stream流和集合的对比需求:1. 首先筛选所有姓张的人;2. 然后筛选名字有三个字的人;3. 最后进行对结果进行打印输出。import java.util.ArrayList;import java.util.List;/* 使用传统的方式,遍历集合,对集合中的

2020-07-23 11:20:39 618

原创 Java函数式接口【最全总结】

Java【函数式接口】主要内容自定义函数式接口函数式编程常用函数式接口目标 能够使用@FunctionalInterface注解 能够自定义无参无返回函数式接口 能够自定义有参有返回函数式接口 能够理解Lambda延迟执行的特点 能够使用Lambda作为方法的参数 能够使用Lambda作为方法的返回值 能够使用Supplier函数式接口 能够使用Consumer函数式接口 能够使用Function<T, R>函数式接口 能够使用Predicate函数式接口

2020-07-22 18:34:38 1362

原创 Java常用函数式接口Supplier、Consumer、Predicate、Function详解

1.Supplierimport java.util.function.Supplier;/* 常用的函数式接口 java.util.function.Supplier<T>接口仅包含一个无参的方法:T get()。用来获取一个泛型参数指定类型的对象数据。 Supplier<T>接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据 */public class Demo01Supplier { //

2020-07-22 18:23:04 2010

转载 JDK 8 函数式编程详解

https://www.cnblogs.com/snowInPluto/p/5981400.html

2020-07-22 12:08:08 146

原创 Java函数式接口练习二则

1.函数是接口作为方法参数/* 例如java.lang.Runnable接口就是一个函数式接口, 假设有一个startThread方法使用该接口作为参数,那么就可以使用Lambda进行传参。 这种情况其实和Thread类的构造方法参数为Runnable没有本质区别。 */public class Demo01Runnable { //定义一个方法startThread,方法的参数使用函数式接口Runnable public static void startTh

2020-07-22 11:17:27 143

原创 Java函数式接口之Lambda优化日志案例

日志案例 发现以下代码存在的一些性能浪费的问题 调用showLog方法,传递的第二个参数是一个拼接后的字符串 先把字符串拼接好,然后在调用showLog方法 showLog方法中如果传递的日志等级不是1级 那么就不会是如此拼接后的字符串 所以感觉字符串就白拼接了,存在了浪费public class Demo01Logger { //定义一个根据日志的级别,显示日志信息的方法 public static void showLog(i...

2020-07-22 10:53:04 239

原创 Java函数式接口及使用

定义函数式接口:有且只有一个抽象方法的接口,称之为函数式接口当然接口中可以包含其他的方法(默认,静态,私有)使用定义一个接口/* @FunctionalInterface注解 作用:可以检测接口是否是一个函数式接口 是:编译成功 否:编译失败(接口中没有抽象方法抽象方法的个数多余1个) */@FunctionalInterfacepublic interface MyFunctionalInterface { //定义一个抽象方法

2020-07-22 10:08:38 365

原创 Java网络编程【最全总结】

Java 【网络编程】主要内容软件架构CS/BS网络通信三要素TCP通信Socket套接字ServerSocket第一章 网络编程入门1.1软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。1.2

2020-07-22 00:06:21 283

原创 Java网络编程B/S服务器案例分析

需求在项目目录下有一个静态网页,将他在浏览器上浏览代码:package BSTCP;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class TCPServer { public static void main(String[] args) throws IOException {

2020-07-21 23:54:36 305

原创 Java网络编程实现文件上传和下载案例详解

客户端:文件上传案例的客户端:读取本地文件,上传到服务器,读取服务器回写的数据明确:数据源:c:\1.jpg目的地:服务器实现步骤:1.创建一个本地字节输入流FileInputStream对象,构造方法中绑定要读取的数据源2.创建一个客户端Socket对象,构造方法中绑定服务器的IP地址和端口号3.使用Socket中的方法getOutputStream,获取网络字节输出流OutputStream对象4.使用本地字节输入流FileInputStream对象中的方法read,读取本地文件

2020-07-21 22:17:01 843

原创 Java网络编程TCP通信之Exception in thread “main“ java.net.SocketException: Connection reset解决方案

错误信息:客户端程序不能停止, 人为停止以后打印Exception in thread "main" java.net.SocketException: Connection reset Exception in thread "main" java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) at java

2020-07-21 21:19:45 9697 5

原创 Java网络编程之TCP通信程序

1. TCP通信概述TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。两端通信时步骤:服务端程序,需要事先启动,等待客户端的连接。客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。在Java中,提供了两个类用于实现TCP通信程序:客户端:java.net.Socket 类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。服务端:java.net.ServerSocke

2020-07-21 18:28:25 212

原创 Java打印流PrintStream类详解

PrintStream相关方法java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。 PrintStream特点: 1.只负责数据的输出,不负责数据的读取 2.与其他输出流不同,PrintStream 永远不会抛出 IOException 3.有特有的方法,print,println void print(任意类型的值)

2020-07-21 09:11:21 2016

原创 Java序列化集合练习

** 练习:序列化集合**练习:序列化集合 当我们想在文件中保存多个对象的时候 可以把多个对象存储到一个集合中 对集合进序列化和反序列化 分析: 1.定义一个存储Person对象的ArrayList集合 2.往ArrayList集合中存储Person对象 3.创建一个序列化流ObjectOutputStream对象 4.使用ObjectOutputStream对象中的方法writeObj

2020-07-21 00:27:28 150

原创 Java缓冲流、转换流、序列化流、打印流【最全总结】

Java【缓冲流、转换流、序列化流】主要内容缓冲流转换流序列化流打印流第一章 缓冲流昨天学习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流。比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等。这些功能更为强大的流,都是在基本的流对象基础之上创建而来的,就像穿上铠甲的武士一样,相当于是对基本流对象的一种增强。1.1 概述缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:Buffere

2020-07-20 23:58:06 639

原创 Java序列化InvalidClassException异常原理和解决方案

当JVM反序列化对象时,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个InvalidClassException异常。发生这个异常的原因如下:该类的序列版本号与从流中读取的类描述符的版本号不匹配该类包含未知数据类型该类没有可访问的无参数构造方法Serializable 接口给需要序列化的类,提供了一个序列版本号。serialVersionUID 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。public class Employ

2020-07-20 23:50:55 706

原创 Java序列化ObjectOutputStream和反序列化ObjectInputStream详解(及关键字transient)

什么是序列化???Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。看图理解序列化:ObjectOutputStream类 java.io.ObjectOutputStream extends OutputStre

2020-07-20 23:45:20 406

原创 Java转换流OutputStreamWriter和InputStreamReader详解

编码引出的问题FileReader可以读取IDE默认编码格式(UTF-8)的文件FileReader读取系统默认编码(中文GBK)会产生乱码���import java.io.FileReader; import java.io.IOException;public class Demo01FileReader { public static void main(String[] args) throws IOException { FileReader fr

2020-07-20 21:23:35 717

原创 Java对文本内容进行排序

练习 对文本的内容进行排序 按照(1,2,3....)顺序文本《出师表》: 3.侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之, 然后施行,必得裨补阙漏,有所广益。 8.愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下 亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏,臣不胜受恩感激。 4.将军向宠,性行淑均,晓畅军事,试用之于昔日,先帝称之

2020-07-20 18:13:36 1922 4

原创 Java字符缓冲区BufferedWriter和BufferedReader详解

1.BufferedWriterjava.io.BufferedWriter extends Writer BufferedWriter:字符缓冲输出流 继承自父类的共性成员方法: - void write(int c) 写入单个字符。 - void write(char[] cbuf)写入字符数组。 - abstract void write(char[] cbuf, int off, int len)写入字符数组的某一部分,off数组

2020-07-20 17:57:57 491

教学管理系统《数据库系统原理与应用oracle》课程设计

基于Oracle对教学管理系统的实现,主要包括 项目概述、功能模块图、数据流图、CDM、PDM、SQL语句、复杂功能的PL/SQL编程代码、触发器等内容。使用PowerDesigner建立的图

2020-07-17

空空如也

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

TA关注的人

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