自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL之on delete/update的使用

MySQL支持外键的存储引擎只有哦InnoDB,在创建外键时,要求父表必须有对应的引索,子表在创建外键时也会自动创建对应的引索。在创建引索时,可以指定在删除/更新父表时,对子表进行相应的操作:restrict、no action、cascade、set null。外键约束–on delete(1) restrict :当在父表中删除对应记录的操作时,首先检查该记录是否有对应外键,如果有,则不允许删除父表。(2)no action:跟restrict一样,不允许删除主表对应的数据。(3)cascade

2020-11-30 18:01:52 803

原创 MySQL之练习建表

创建以下两个表:#请在此添加创建开课信息表的SQL语句########## Begin ##########use universityDB;create table instructor( ID varchar(5) primary key, name varchar(20) not null, dept_name varchar(20), salary numeric(8,2) check(salary>29000), foreign key(de

2020-11-30 17:29:52 347

原创 JDBC事务

事务:完成一件事情的数据库操作语句共同构成了一个事务。事物的基本要素:①原子性:一组事务,要么全部成功完成,要么全部不完成②一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。如:A向B转账,那么A扣了钱,B则一定会收到。③隔离性:每个事务独立运行。一个事务处理后的结果,影响了其他事务,那么其它事务会撤回(不完成)。事物的100%隔离,需要牺牲速度。④持久性:事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚1、开启事务需要先把JDBC驱动程序的自动提交模式关闭,使用setAu

2020-11-28 20:48:35 129 1

原创 Java之PreparedStatement 的使用

先看一段代码: try { Statement statement = conn.createStatement(); statement.executeUpdate("insert into table1(column1,column2) values(101,'xxx')"); } catch (SQLException e) { e.printStackT\frace(); }其中,是直接使用了Statement向表中插入数据

2020-11-28 17:35:31 1203

原创 Java之城堡游戏设计的优化

我们再来回顾一下题目:一、城堡游戏介绍:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。4.有五个地点,分别是:小酒

2020-11-28 15:14:55 636 1

原创 Java之城堡游戏设计

一、城堡游戏介绍:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。4.有五个地点,分别是:小酒吧,大厅,书房,卧室,次

2020-11-28 14:03:57 1269

原创 编写一个学生管理系统的JDBC程序

package com.company;import com.mysql.cj.protocol.Resultset;import java.sql.*;import java.util.Scanner;public class Main<ex> { public static void main(String[] args)throws ClassNotFoundException, SQLException { Connection conn=null;

2020-11-27 10:24:41 303

原创 练习编写一个JDBC程序。

编写一个JDBC程序,实现以下要求:创建一个名为tb_user表,对该表实现插入、修改、查询、删除操作在IntellijIdea中:1、下载mysql驱动2、在我们的项目中新建一个bin目录,并把下载的驱动中的 mysql-connection-java-8.0.22.jar复制粘贴到bin目录下3、右键我们复制粘贴好的驱动->点击:Add as library…4、就可以写代码啦package com.company;/*编写一个JDBC程序,实现以下要求:创建一个名为tb_u

2020-11-26 17:12:37 3818

原创 java之抽象方法/接口/内部类介绍

内容组成:1、抽象方法2、接口3、成员内部类4、局部内部类5、匿名内部类抽象方法用来干什么呢?当我们想要定义一个类的时候,通常会需要定义一些方法来描述这个类的行为特征,但是,当我们又还没想好要具体实现一个怎样的方法的时候,抽象方法就派上用场了。抽象方法必须使用abstract关键字修饰,不需要实现它的方法体。当一个类中含有了抽象方法,那这个类就是抽象类,相应地也需要abstract关键字来修饰。抽象方法的基本语法格式:[修饰符] abstract class 类名{ [修饰符] abs

2020-11-21 22:23:55 111

原创 java之通过Callable创建线程,以输出斐波那契数列为例

首先我们先了解一下Callable接口Callable接口可以满足我们既能创建线程,又可以有返回值的需求。(Thread类和Runnable接口实现多线程时,不能同时获得返回值。)经查询,Callable只有一个方法call实现多线程的方式与Runnable接口一样,都是通过Thread类的有参构造方法传入Runnable接口类型的参数来实现多线程,不同的是,这里传入的是Runnable接口的子类FutureTask对象作为参数,而FutureTask对象中则封装带有返回值的Callable接口实现类

2020-11-21 11:34:41 427 1

原创 通过Thread和Runnable创建线程的两种方式(举例说明)

线程与进程:①在多任务操作系统中,每个运行的程序都是一个进程,用来执行不同的任务,而一个进程中可以有多个执行单元同时运行,来同时完成一个或多个程序任务,这些执行单元就成为线程。②每一个进程中至少存在一个线程。当一个Java程序启动时,就会产生一个进程,该进程回默认创建一个线程,在这个线程上运行main()方法中的代码。两者的区别:调度:进程拥有资源; 线程是调度和分派的基本单位; 同一进程中线程的切换不会引起进程的切换,但是进程与线程间的切换会导致资源的切换。并发性:进程之间可以并

2020-11-21 09:47:17 309

原创 Java之Properties类解析

Map接口有一个实现类Hashtable,而Hashtable中存在Properties这一子类。Properties类在实际应用中非常重要。不同的编程语言有着不同的配置文件,而且配置文件里的很多变量是要经常做修改的,为了方便用户配置,让用户能够脱离程序本身去修改相关的变量配置,这时候Properties就派上用场了。它主要用来存储字符串类型的键和值,在实际开发中,经常使用它来存取应用的配置项。Properties中的方法:其中的一些常用方法:1、public Properties() 创建

2020-11-20 22:27:16 615

原创 MySql中的使用limit实现分页查找

我们可以通过limit 实现对一个表数据的分页,现在我们来看一看吧!分页公式:page_num=(total_record+page_size-1) / page_size**其中page_num :为分成的总页数total_record :为表中的记录总数page_size :为分成的每一页中包含的记录数limit n表示从第0条记录开始(即偏移量为0)的n个记录limit m,n表示从第m条记录开始的n个记录。limit中记录的索引是从0开始的。那当我要从第current_pag

2020-11-19 22:24:45 596

原创 JAVA中的接口与类的关系

接口的基本概念虽然编写接口的方式和类很相似,但接口并不是类,它们是不同的两个概念。类描述对象的属性和方法,接口则包含类要实现的方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。接口与类的相似点一个接口可以有多个方法。接口文件保存在 .java 结尾的文件中,文件名使用接口名。接口的字节码文件保存在 .class 结尾的文件中。接口相应的字节码文件必须在与包名称相匹配的目录结构中。接口与类的区别接口没有构造方法。接口中所有的方

2020-11-19 16:39:08 616

原创 java练习之应用JFrame窗口中的各种组件。编写一个JFrame窗口,要求如下: (1)窗口中的NORTH区域中放置一个JPanel面板。 (2)JPanel面板从左到右依次放置如下组件: ①1个

/*2、编写一个JFrame窗口,要求如下:(1)窗口中的NORTH区域中放置一个JPanel面板。(2)JPanel面板从左到右依次放置如下组件:①1个JLabel标签,标签的文本为”兴趣“。②3个JCheckBox多选按钮,文本分别为”羽毛球“”乒乓球“”唱歌“。③1个JLabel标签,标签的文本为”性别“。④两个JRadioButton按钮,文本分别为”男“”女“。(3)窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域。(4)当单击多选

2020-11-19 13:12:20 4172

原创 Java练习之获取单击鼠标时鼠标所在的位置坐标编写一个JFrame窗口,要求如下: (1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标” (2)为JFrame

/*1、编写一个JFrame窗口,要求如下:(1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标”(2)为JFrame窗口添加一个鼠标事件,当鼠标右键单击窗口时,鼠标的坐标在JLabel标签中显示*/package com.company;import javax.swing.*;import java.awt.*;import java.awt.event.MouseEvent;import java.awt.event.MouseListene

2020-11-19 11:17:38 2140

原创 SQL之提取子字符串--使用substr\charindex\patindex

当我们要获取一个字符串的字串时,我们可以用substr函数来实现喔,现在我们来看看它的用法吧!substr(string ,start, length)1、string :要被截取的字符串2、start :截取的字串开始的位置,【必填】,为正数时,是从左往右数的第start个字符,为负数时,是从右往左数的第| start | 个字符。它默认值是1,若是填错成0时,它会默认为默认值1。3、length :截取的字串的长度,【可选】,缺省时返回字符表达式的值结束前的全部字符。我们来看一个简单的例子:

2020-11-17 22:46:01 4258

原创 Java练习之开发一个图片查看器,只显示文件夹下所有图片类型的文件。

本关任务:小明想要开发一个图片查看器,但是他想只显示文件夹下所有图片类型的文件。你来帮小明实现这个功能吧。要求:1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,3、另外需要对文件进行过滤,只显示图片类型的文件,本关需要过滤的图片文件类型有:“jpg,png,bmp”,请补充完善右侧代码区中的showDirStructure(File file)函数实现本关要求的功能

2020-11-16 16:48:13 785

原创 Java练习之实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。

任务:实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。要求:1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,补充完善右侧代码区中的showDirStructure(File dir)函数实现要求的功能,其中函数参数含义如下:.dir:指定要显示的文件夹样例1输入:src/step3/root输出:样例2输入:src/step3/di

2020-11-16 15:40:09 1563

原创 JavaFX Scene Builder的详细下载与安装

点击下载地址:JavaFX Scene Builder下载链接进去后的页面如图:点击:这时候会要你登录或者注册Oracle账户,这一步完成之后就会出现一个安装程序:安装完成后会出现:之后,打开IntellijIdea,点击 File->Settings…然后回到界面,点击 File->Project Structure将IDEA的JDK定义为7及以上的版本点击:找到你电脑上JDK的安装路径(我的是这个)再点击 ok->ok接下来,指定Scene Builder的

2020-11-15 22:07:14 10683 1

原创 MySql之length函数

1、length:返回字符串所占的字节数select length("10,A,B");2、char_length:返回字符串的字符数select char_length("10,A,B");归纳:应用场景1.查询字符串长度length(str)2.查询列最大字符串长度max(length(str))3.查询某个字符出现几次 length(str1)-length(replace(‘str1’,’str2’,”))4.length求得是字符长度。 【1个中文、英文字母、数字、中文

2020-11-15 11:33:27 7826

原创 MySql之concat函数、concat_ws、group_concat函数解析

想要实现字段与字段间的连接,可以使用concat方法和concat_ws方法concat(str1, str2,…) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。这里建立了一个简单的表:use mydb;CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,PRIMARY

2020-11-15 11:08:54 442

原创 创建外键约束

给表创建外键约束有两种方法方法一:在创表的同时添加外键约束use datebase; CREATE TABLE employees_test(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);CREATE TABLE audit(EMP_no INT NOT NULL,create_date datetime NOT NULL,foreign k

2020-11-15 10:06:12 3053 1

原创 重新给表命名/修改表名。rename的使用

首先我们先看一下数据库中现在有什么表show tables; 两种方式修改表名:rename table titles_2017 to titles_2020;alter table titles_test rename to titles_test1; show tables;另外:mysql中修改表信息的规则。alter table 表名 change 原列名 新列名 类型; --修改表的列属性名alter table 表名 modify 列名 类型 ; --修改表的类类型a

2020-11-15 09:35:01 3849

原创 replace函数的用法解析-----将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错了。

将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现,直接使用update会报错了。REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str。CREATE TABLE titles_test ( id int(11) not null primary key, emp_no int(11) NOT NULL, title varcha

2020-11-15 09:01:50 311

原创 OperationalError: (1093, “You can‘t specify target table ‘titles_test‘ for update in FROM clause“)

执行以下语句:delete from titles_testwhere id not in( select min(id) from titles_test group by emp_no);报出错误:OperationalError: (1093, “You can’t specify target table ‘titles_test’ for update in FROM clause”)不能对进行查询操作的表进行update操作办法:把子查询表添加别名就可以了

2020-11-14 17:30:45 381

原创 将指定文本(可以通过右侧文件目录下的src/step3/readme.txt查看)以降序的方式输出每个单词出现的次数。

为了完成本关任务,你需要掌握:1.如何统计相同单词的次数;2.如何进行排序。练习要求:将指定文本(可以通过右侧文件目录下的src/step3/readme.txt查看)以降序的方式输出每个单词出现的次数。package step3;import java.util.Map;import java.util.HashMap;import java.util.StringTokenizer;import java.util.*;public class StudentDemo{ //获取单

2020-11-14 15:20:54 491

原创 字符串的划分方法:split与StringTokenizer

当我们想要对一个字符串进行切分出它的一些字串的时候,我们可以使用split方法和StringTokenizer类一、lang包中的String类下的split()方法:public String[] split(String regex) public String[] split(String regex,int limit)他们都是返回一个String类型的数组,regex是指划分出字串的分隔符,limit用来控制模式应用的次数,影响所得数组的长度提示:“|”、“.”、“*”、“+”、“\

2020-11-13 19:56:30 1159

原创 MySql触发器

MYSQL触发器:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_nameFOR EACH ROWBEGINtrigger_stmtEND1、trigger_name标识触发器名称,用户自行指定2、trigger_time标识触发时机,可以为before或after3、trigger_event标识触发事件,包括INSERT、UPDATE和DELETE(注意要大写)4、tbl_name标识建立触发器的表名,即

2020-11-13 12:09:52 161

原创 复制文件与图像。 复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt; 复制src/st

要求:复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt;复制src/step4/input/目录下的input.jpg文件到src/step4/output/目录下,新文件命名为output.jpg。package step4;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.Fil

2020-11-13 09:50:34 1516

原创 本关任务:使用输入输出流读写文件。读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2

本关任务:使用输入输出流读写文件。读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2/output/目录下的output.txt,若文件目录不存在,则创建该目录。注意:临时字节数组需要定义长度为8位,否则会有空格。package step2;import java.io.File;import java.io.FileInputStream;import java.io.Fil

2020-11-13 08:47:12 3484

原创 JAVA本关任务:把给定的大文件拆分成多个小文件。

接收给定的一行字符串(如:/test/a.txt。该字符串为文件路径);把文件切分成 100k 大小的小文件(如果给定的文件大小小于 100k,大于 0 k,则不切分。如果给到的文件大小等于 0 k,抛出异常,输出提示语句:“文件大小为0,不可拆分”。另外,如果文件大小为 309 k,注意切分的子文件个数为 4 个);切分后的子文件命名为:原文件名-n (如:test.docx-3。n 代表切分后的第几个文件,从 0 开始);切分后的文件保存于原目录下。import java.io.*;impo

2020-11-12 21:41:57 1160

原创 对于表actor插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)

题目已经先执行了如下语句:drop table if exists actor;CREATE TABLE actor ( actor_id smallint(5) NOT NULL PRIMARY KEY, first_name varchar(45) NOT NULL, last_name varchar(45) NOT NULL, last_update DATETIME NOT NULL);insert into actor values ('3', 'WD',

2020-11-12 15:25:13 396

原创 Java某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。

某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。要求如下:使用Sysytem.in包装为字符流读取键盘输入BufferedReader对字符流进行包装。调用BufferedReader的readLine()方法每次读取一行在for循环中判断输入的密码是否为123456,如果是,则打印“恭喜你进入游戏”,并跳出循环,否则继续循环读取键盘的输入当循环完毕,密码还不正确,则打印“密码错误,结束游戏”,并调用System.exit(0)方法结束程序

2020-11-12 14:28:30 13261 2

原创 查找描述信息(film.description)中包含robot的电影对应的分类名称(category.name)以及电影数目(count(film.film_id)),而且还需要该分类包含电影总数量

film表字段 说明film_id 电影idtitle 电影名称description 电影描述信息CREATE TABLE IF NOT EXISTS film (film_id smallint(5) NOT NULL DEFAULT '0',title varchar(255) NOT NULL,description text,PRIMARY KEY (film_id));category表字段 说明category_id 电影分类idname 电影分类名

2020-11-11 22:36:21 601

原创 汇总各个部门当前员工的title类型的分配数目,即结果给出部门编号dept_no、dept_name、其部门下所有的当前(dept_emp.to_date = ‘9999-01-01’)员工的当前(t

汇总各个部门当前员工的title类型的分配数目,即结果给出部门编号dept_no、dept_name、其部门下所有的当前(dept_emp.to_date = ‘9999-01-01’)员工的当前(titles.to_date = ‘9999-01-01’)title以及该类型title对应的数目count,结果按照dept_no升序排序(注:因为员工可能有离职,所有dept_emp里面to_date不为’9999-01-01’就已经离职了,不计入统计,而且员工可能有晋升,所以如果titles.to_da

2020-11-11 14:40:29 800

原创 获取员工其当前的薪水比其manager当前薪水还高的相关信息

获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date=‘9999-01-01’,结果第一列给出员工的emp_no,第二列给出其manager的manager_no,第三列给出该员工当前的薪水emp_salary,第四列给该员工对应的manager当前的薪水manager_salaryCREATE TABLE dept_emp (emp_no int(11) NOT NULL,dept_no char(4) NOT NULL,from_date date NOT

2020-11-10 17:47:03 242

原创 查找所有员工自入职以来的薪水涨幅情况

查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序(注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salaries表的最新的to_date!=‘9999-01-01’,这样的数据不显示在查找结果里面)CREATE TABLE employees (emp_no int(11) NOT NULL,birth_date date NOT NULL,firs

2020-11-10 16:20:01 168 1

原创 GUI小代码

package com.company;import java.util.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e){ System.out.println("用户点击了按钮"); }}public

2020-11-10 15:15:58 212

原创 查找当前薪水排名第二多的员工某些信息(不使用order by)

查找当前薪水(to_date=‘9999-01-01’)排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,你可以不使用order by完成吗CREATE TABLE employees (emp_no int(11) NOT NULL,birth_date date NOT NULL,first_name varchar(14) NOT NULL,last_name varchar(16) NOT NULL,gender char(1) NOT NU

2020-11-09 19:25:39 215

学生信息管理系统.zip

使用java和mysql做成的学生信息管理系统

2021-02-15

空空如也

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

TA关注的人

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