- 博客(49)
- 收藏
- 关注
原创 SpringBoot的命令行使用参数
1.先要把文件打包,打包之前做好清除,最后改一下字符集防止乱码,3.这就进入大的包里面,继续输入smd进入,命令代码。2.打包后会在你的项目目录有target,右击进去。
2023-04-14 11:57:54 377 1
原创 Mybatis的配置文件分析
(6)setting日志设置:设置名为logImpl,值有SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING。(4)dataSource是数据源作用是为程序提供Connection对象,type属性有三个属性值,UNPOOLED不使用连接池,POOLED使用mybatis自己实现数据连接池,JNDI集成其他三方连接池。所以需要xml的命名空间,命名空间可以随意。
2023-04-07 15:16:51 231
原创 BootStrap的CSS的笔记
(1)如果您想要内联显示代码,那么您应该使用 <code> 标签。第二种是 <pre> 标签。如果代码需要被显示为一个独立的块元素或者代码有多行,那么您应该使用 <pre> 标签。(1)需要引入jQuery,一个bootStrap的css和bootStrap.min.js。(2)响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。class,这样子您就能得到一个字号更小的颜色更浅的文本。(1)元素两旁添加 <small>,或者添加。网格的宽度有里面的内容撑大的。
2023-03-28 19:15:23 252
原创 Map接口及遍历方式
5) Map 的key可以为null, value也可以为null,注意key为null,只能有一个,value为null ,可以多个。2) Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中。用于保存具有映射关系的数据:Key-Value(无序)7) key 和 value之间存在单向一对一关系,即通过指定的key总能找到对应的value。3) Map 中的key不允许重复。6)常用字符串类作为Map的key。4)Map中的value可以重复。
2023-03-13 13:59:08 376
原创 Maven的安装及配置
进来过后需要等一会然后你会看到src下面main的一个文件夹新建一个历史文件就是第三个会自动出来java选择java就好。配置xml文件:在你刚才下载的架包在conf文件夹找到sttings.xml里面进行配置。验证有没有安装成功以管理员打开命令提示符:输入mvn -version安装成功。然后在系统变量找到PATH后面添加maven的bin的路径。在src文件新建跟上一步方法一样会出来两个都选择上。这个网址中到你要的架包,然后赋值在这个地方就行了。解压后配置,环境变量的系统变量新建。(jdk在1.8+)
2023-03-07 19:56:04 68
原创 JSP的分页
这里0是指起始行,5是查询5行,第二页起始行就是5,每页也是查询5条数据。起始行=(页大小-1)*行数。分页查询还需要知道一共多少页。分页在读取数据库里的数据需要用,在以后数据库肯定还会有很多数据,一个页面装不下,所以需要分页功能。数据库查询的分页语句是“2.2把需要的架包添加在web下面创建一个lib的文件夹并且添加为库。还得准备工具类没有的找我。总页数=数据总数%每页条数==0?数据总数/每页条数:数据总数/每页条数+1)。2.6DaoImpl实现类。2.3添加emp的实体类。
2023-02-28 20:49:18 1201
原创 EL表达式
在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。${name}获取作用域中的数据,主机查找{pageContext、request、session、application}JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。运行结果:我的路径是创建一个el文件夹,jsp文件名为Eldemo01。${scope.name}获取具体某个作用域中的数据。5.EL和JSP脚本的区别是用存取不存的数据判断。4.2创建相同的键名得到的结果。
2023-02-10 14:56:51 418
原创 Servlet中的转发
(1)request作用域:拥有存储数据的空间,作用范围是一次请求有效(一次请求可以多次转发),可以将数据存入request后,在一次请求过程中的任何位置进行获取,可以传递任何数据(数组,集合,基本数据类型,对象等)在实现登录系统的中,调用逻辑页面和登录页面在同一个Servlet中就会产生问题,也不利于维护,那用户登录时怎么可以重新登录,直到登录成功,所以需要将逻辑和显示界面进行分离。转发的作用在服务器端,将请求发送给服务器上的其它资源,以共同完成一次请求的处理。6.转发数据的传递的实例。
2023-02-03 20:38:30 660
原创 JDBC用PrepareStatement解决SQL注入
setXxx()方法有两个参数,第一个参数是要设置的SQL语句中的参数的索引(从1开始),第二个是设置的SQL语句中的参数的值。SQL注入(SQL injection)是因为应用程序在执行SQL语句的时候没有正确的处理用户输入字符串,将用户输入的恶意字符串拼接到了SQL语句中执行,从而导致了SQL注入。这个代码中1=1永远都是对的,#后面的成了注释,所以这条语句会将表中所有的数据查询出来,然后再做数据判断的时候,就会得到正确结果,从而说用户名和密码正确,登录成功。这是查询一条数据的运行结果。
2023-01-31 20:57:38 2421 3
原创 MYSQL的条件查询,模糊查询,排序,聚合函数和分组查询等
在上面查询中出现列名为sal+IFNULL(comm,0),这很不美观,现在我们给这一列给出一个别名,为月薪与佣金之和。去除重复记录(两行或两行以上记录中系列的上的数据都相同),例如emp表中sal字段就存在相同的记录。模糊查询需要使用关键字LIKE。2.5 查询学号不是S_1001,S_1002,S_1003的记录。2.4 查询学号为S_1001,S_1002,S_1003的记录。3.2查询姓名由5个字母构成,并且第5个字母为“i”的学生记录。2.3 查询学号为S_1001,或者姓名为liSi的记录。
2023-01-03 17:00:06 443
原创 数据库的DDL和DML操作
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;语法: INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...);VALUES(1004,'赵六',21,'2001-02-13',590.9);VALUES(1003,'王五',21,'2001-1-12',400.0);date:日期类型,格式为:yyyy-MM-dd;注意:列表名和列值一一对应,长度不要超出范围。time:时间类型,格式为:hh:mm:ss。
2022-12-27 15:59:56 452
原创 数据库的基本知识
(1)数据库(Database简称就是DB)就是长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。把ww的字符集修改成utf8命令为alter database ww character set utf8;命令为:create database +数据库名;Drop databasr +数据库名(注意千万不要随便删)。(2)核心功能就是针对数据进行增删改查。是现流行的开源、免费的关系型数据库。(1)免费、开源数据库。(2)查看单独一个数据库。(2)小巧.功能齐全。use +数据库名;
2022-12-26 19:32:01 243
原创 Java线程
(1)使用继承Thread类的方式创建线程简单,但有一个缺点,如果定义的类已经继承其他无法在继承Thread类。Thread类的run方法时线程要执行操作任务的方法,所以要执行的操作代码都需要写在run()方法中,并通过start()方法来启动线程。--》一个类可以通过实现Runnable接口并实现run()方法完成线程的所有活动,已实现的run()方称为该对象的线程体。(2)多线程:同一时刻,可以执行多个线程,比如一个QQ进程可以同时打开多个聊天窗口,一个迅雷进程,可以下载多个文件。
2022-12-21 11:16:43 72
原创 认识Java的流
文件和流的基本知识(1)文件是保存数据的地方。(2)流是一组有序的数据序列 以先进先出方式发送信息的通道(3)输入流:数据从数据源(文件)到程序(内存)的路径。(4)输出流:数据从程序(内存)到数据源(文件)的路径.。(5)java流的分类分为按流向区分和处理数据单元区分。(6)输出流主要是OutputStream和Write作为基类,输出流是InputStream和Read作为基类。(7)输入/输出流又分为字节流和字符流两种形式字节流是8位通用字节流,其基本单位是字节。字节流的基类是InputStream
2022-12-06 19:26:58 228
原创 Java的Math类和Random类
(double d)返回参数的符号函数;如果参数为 0,则返回 0;如果参数大于 0,则返回 1.0;如果参数小于 0,则返回 -1.0。ulp(double d)返回参数的 ulp 大小。sin(double d)返回角的三角正弦。返回最接近参数并等于某一整数的。值都同样接近,那么结果取偶数。
2022-12-01 14:53:27 172
原创 Java中的包装类
(1)Java语言是面向对象的,但是Java中的基本数据类型却不是面向对象的,这在实际开发中存在很多的不便。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类,称为包装类。(2)包装类均为java.lang包中,包装类和基本数据类型的对应关系如下表所示。基本数据类型包装类booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDouble。
2022-11-30 21:54:37 283
原创 接口的介绍和List集合方法
(5)Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的。通过get方法,可以看出:ArrayList集合中的元素是有序的,可重复(不唯一)(2)有些Collection实现类可以存在重复的元素,有些不可以。(3)List接口存储一组不唯一,有序(插入顺序)的对象。(1)collection实现子类可以放多个元素。将对象存储到一个集合,需要准备集合容器。添加元素add(对象名),存储到集合中。(4)Set接口存储一组唯一,无序。第二创建一个实现类,先创建四个对象。
2022-11-28 21:58:31 230
原创 Java中什么是方法的重写及与重载的区别
方法的重写就是子类有一个方法,和父类的某一个方法名称、返回值类型、参数一样,那么我们就说子类的这个方法覆盖了父类的方法。punlic>protected>默认>private。当父类中的方法不足以满足子类使用的时候,可以在子类中重写父类中的方法。子类继承父类,方法的返回类型一样,参数列表相同访问修饰符不言语父类。2)方法名相同:子类重写的方法名与父类中的方法名相同。5)访问权限修饰符不能严于父类。这就是方法的重写,这是父类的方法。父类的方法的访问修饰符是默认。方法重写与方法重载的区别。
2022-11-25 19:43:32 179
原创 Java-继承
(1)继承是面向对象的三大特征之一,继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。(2)继承是软件可重用的一种表现,新类可以在不增加自身代码的情况下,通过从现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。此时,新类称为子类,现有的类称为父类。(3)继承最基本的作用就是使得代码可重用,增加软件的可扩充性。(4)Java中只支持单根继承,即每个类只能有一个直接父类。,但是有多个间接的父类。
2022-11-25 16:24:52 93
原创 Java的抽象类和抽象方法
当父类的方法不能确定时,可以用abstract关键字来修饰方法,这个方法时抽象方法,用abstract来修饰该类就是抽象类。3)某个类继承了一个抽象类,那么该类需要重写抽象类中所有的抽象方法,如果不重写,这个类也需要定义为抽象类。4)abstract只能修饰类和方法,不能修饰属性和其它方法。1)抽象类中可以有抽象方法,也可以没有抽象方法。2)抽象类中可以有普通方法,也可以没有普通方法。使用abstract修饰的方法为抽象方法。2)抽象方法所在的类要定义为抽象类。1)抽象方法没有方法体。
2022-11-23 16:04:05 931
原创 Object类
既然Object类中的toString()方法不足以满足子类使用,我们就可以对这个toString()方法进行重写, 在重写方法中可以输出对象的属性信息.Object类中的equals()方法用来比较两个对象是否是同一对象,若是,返回true,字符串对象的equals()方法用来比较两个字符串的值是否相等,java.lang.String类重写了Object类中的equals()方。使用对象stu1使用对象stu1调用Object类中的toString()输出的也是stu1在内存中的地址值。
2022-11-22 20:48:30 118
原创 Java有参构造和无参构造以及this
一、构造方法构造方法又叫构造器,是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。它有几个特点:1)方法名和类名相同2)没有返回值3) 在创建对象时,系统会自动的调用该类的构造器完成对象的初始化。构造方法又叫构造器,是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。它有几个特点:1)方法名和类名相同2)没有返回值3)在创建对象时,系统会自动的调用该类的构造器完成对象的初始化。
2022-11-21 17:30:56 3158 1
原创 Java——方法的重载
允许同一类中,多个同名的存在,但要求形参列表一致。方法重载与返回值类型无关,跟访问修饰符无关,要在同一类,并且参数列表不同(参数个数、参数顺序、参数类型)。
2022-11-18 15:07:18 546
原创 Java的类、对象和方法
>当需要在方法执行的时候为方法传递参数时才需要参数列表,如果不需要传递参数就可以省略,不过小括号不可以省略,传递多个参数时,以半角的逗号进行分隔。类是多个对象进行综合抽象的结果,是实体对象的概念模塑览一个对象是一个类的实例。(2)用面向对象方法解决问题时,要对现实世界中的对象进行分析和归纳,找出哪些对象与要解决的问题是相关的。(1)对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象。类名[]数组名={对象1,对象2,…(1)类是具有相同属性和方法的一组对象的集合。
2022-11-16 16:26:01 1699
原创 对10个整数进行按照从小到大的顺序排序用选择法和冒泡排序
一、选择法这是每一个数出来跟后面所有的进行比较。2.冒泡排序法,是两个相邻的进行对比。
2022-11-11 20:40:02 4526
原创 Java的运算符
4. |和||的运算规律是一样的:只要|或者||左右两边的表达式有一个结果为true,则整个|或者||的运算结果就为true,只有当|或者||左右表达式两边同时为false,整个|或者||运算结果才为false。3.&和&&的运算规律是一样的:只有当&或者&&左右两边的结果都为true,整个&或者&&的运算结果才为true,其它的情况,运算结果都为false。3、||具有短路功能,当||左边表达式的结果为true,则直接判断||运算结果为true,不再计算||右边表达式的结果,右边表达式被短路。
2022-11-11 15:04:40 260
原创 二维数组及练习题
1.二维数组的概念:1)二维数组原来的二维数组的每个元素是一组数组就构成数组。2)二维数组的每个元素是一维数组,如果需要得到每个一维数组的值。3)二维数组的每个元素是一维数组,所以如果需要得到每个一维数组的值还需要再次遍历。2.二维数组:1)定义二维数组:int[][] scores;2)分配空间:scores=new int[5][50];3)二维数组和分配空间合并写:数据类型[][]数组名=new 数据类型[][]或者数据类型[][] 数组名=new 数据类型长度[][]。
2022-11-09 15:01:52 1482
原创 Java-冒泡排序
通过对待从后像,依次比较相邻元素的值,若发现逆序交换,使值较大的元素逐渐从前向后。例题1:11,25,96,46,78,32,18,64这8个数的升序排序。例题2://使用冒泡排序对输入的5名学员成绩进行降序排列。每次比较相邻两数,小的交换到前面每轮结束后最大数到最后。方法跟升序一样的,把5个同学成绩获取下来在进行冒泡排序。就是从小到大,用冒泡排序,每个数比较,让小的在前面。假如用二重循环实现5个数排序。数组,数组.length=5。2.用二重循环实现冒泡排序。外层循环,循环变量i。内层循环,循环变量j。
2022-11-07 17:13:00 1013
原创 JAVA数组
数据类型[] 数组名 = new 数据类型[]{数据1,数据2,...,数据n};或者 数据类型 数组名[] = new 数据类型[]{数据1,数据2,...,数据n};(4) 整数类型的数组元素默认值0,浮点数类型的数组元素默认值0.0 char类型数组的数组元素默认值是空格,boolean类型数组的数组元素默认值false,引用数据类型的数组元素默认值为null。还有更简洁的方式:数据类型[] 数组名={数据1,数据2,....数据n}例如int[] nums1={1,2,3,4};
2022-11-05 19:42:31 378
原创 Java-for循环
2)然后判断循环条件,如果条件为true,执行循环操作代码块,执行完循环操作代码块后,进行迭代,迭代完,再次判断循环条件,根据循环条件决定是否执行循环操作如果条件为false,则结束整个for循环结构,继续往下执行for循环结构后面的代码。for控制的变量在for循环结束,就不能再次被访问,而while的变量,不归属语法结构中,while结束后该变量继续被访问。2)如果第1次循环条件就不成立,那么for循环的循环操作1次都不会执行。1)循环条件为布尔值,要么为true,要么为false。
2022-11-03 20:03:55 477
原创 while和do-while循环
2)do-while循环是先执行1次循环操作,再判断循环条件,所以,如果第1次判断循环条件不成立,循环操作也会执行1次,也就是说do-while循环的循环操作不管在什么情况下,至少会执行1次。然后判断循环条件,如果循环条件为true,执行{}中的循环操作代码块,然后执行迭代部分,再返回判断循环条件,根据循环条件成立与否决定是否执行{}里的代码。然后进入do-while循环{}中执行循环操作代码块,执行迭代部分,执行完判断循环条件,如果条件为true,再次执行循环操作代码和迭代部分。1)初始值只执行1遍。
2022-11-01 15:03:54 562
原创 Swith选择结构
执行break,退出整个switch选择结构,如果表达式的值与所有的case常量值都不匹配,则执行default语句中的代码块,然后执行break结束整个switch选择结构。3)break的作用是结束整个switch结构,如果省略了,代码会继续向下执行,知道遇到break,或者执行到了default语句后结束整个switch选择结构。根据switch中()里表达式的值,来匹配case后面的常量值,匹配上哪一个常量值,就执行对应的代码块,执行完代码块后。例题2.是输入月份,判断季节。
2022-10-31 20:07:27 1373
原创 java-if选择结构
例题1:判断输入的是偶数,还是奇数。如果条件2位false,往下判断条件3,如果条件3为true,执行代码块3,执行完代码块3结束整个if-else-if结构,执行if-else-if结构后面的代码。如果条件1为false,往下判断条件2,如果条件2为true,执行代码块2,执行完代码块2结束整个if-else-if结构,执行if-else-if结构后面的代码。首先判断条件1,如果条件1为true,执行代码块1,执行完代码块1结束整个if-else-if结构,执行if-else-if结构后面的代码。
2022-10-29 22:18:42 1078
原创 java-Scanner类
再一步:获取数据类型,因为数据有不同类型,通过input.nextIint()获取数据,通过input.nextDouble()获取浮点类型,通过input.next()获取字符串类型。Scanner input(这个任意)=new Scanner(System.in);输入这个会报错,需要你按ctrl+shift+O就可以l了,这部操作叫导包。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。创建Scanner类对象:一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
2022-10-27 20:21:54 1103 1
原创 java算术运算
字符串“+”运算:当“+”操作中出现字符串时,这个+号就是连接符,而不是算术符号,会将前后数据进行拼接在一起,产一个新的字符串。++和--在变量的前面,变量先进行自增或者自减操作,然后再将自增或者自减后的结果拿去参与相应的运算。++和--在变量的后面,变量先去参与其它运算,参与完运算之后,再回来进行自增或者自减操作。强制转换:取值范围大的转给小的,会报错,比如1.5升的水倒进500毫升的只能到500剩下的就没了。1.取值范围小的与范围大的进行运算,小的转换为大。交换后:num1=50,num2=20。
2022-10-26 22:06:09 1750
原创 java八种数据类型及标识符
200赋值给SUM多个英文时单词之间用“_”连接。用法 final int SUM =200;标识符就是给类,方法,变量起的名字。赋值是不要超过范围,不然会报错。第二种:用final。
2022-10-26 16:07:48 1303
原创 Java的变量
(1):变量:在程序的执行过程中,其值有可能发生改变的量(数据)。它是java程序的一个基础存储单元。注意:只能存一个值,变量名不能重复定义,变量使用前一定进行赋值,变量作用域的范围。(3)java通过操作变量名来操作变量内存储的数据。“变量名”是定义的名称变量,要遵循标识符命名规则。system.out.println()是换行。system.out.print()的不换行。=等号是赋值,把等号右边赋值给左边的变量。中括号的为初始值,存在空间里的数值。(1)定义变量,在进行输出。
2022-10-25 16:45:10 186
原创 Html定位
2、如果有定位的时候,包含块就是离元素最近的开启了定位的祖先元素,如果没有其祖先元素都没有开启定位,其包含块就是html根标, 所以我们管html也叫初始包含块。元素的性质不会改变,也就是块元素还是块元素,行内元素还是行内元素。2.开启绝对定位,元素的性质会发生变化,块元素不会独占一行,行内元素也可以设置宽高。1、开启相对定位,如果没有设置偏移量,元素的位置是不发生变化。3、开启相对定位后,元素的等级会提高。4、开启相对定位, 元素不会脱离文档流,3.开启绝对定位,元素要发生位置变化,需要偏移量。
2022-10-20 20:15:31 4073
原创 float浮动介绍
1、元素脱离文档流,元素一旦脱离文档流,就不会占据原来在文档流中的位置,3、如果前一个兄弟没有浮动,下面浮动的元素,也不会跑到前面。4、设置元素浮动后,元素也是尽量的向左或者向右进行浮动。设置元素浮动,可以让元素脱离文档流,从而不具有元素在文档流中特点,可选值:none 默认值。2、元素浮动之后,不会超过它前一个兄弟,最多一边齐。即块元素不会独占一行,行内元素也可以设置宽高等等。5、浮动元素不会超过其父元素的范围。其下面的元素会立即跑上去。设置元素浮动:float。设置元素浮动后的特点。
2022-10-18 21:40:16 277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人