自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试题 什么是 MyBatis 的接口绑定,有什么好处?

1. 简化开发:接口绑定使得SQL操作变得更加简单和直观。你只需要定义一个接口,声明对数据库的操作方法,MyBatis会动态生成实现类,自动执行SQL语句,无需手动编写SQL或SQL映射文件。2. 提高可维护性:使用接口绑定可以将SQL语句与Java代码解耦,使代码结构更清晰、易于理解和维护。如果需要修改SQL逻辑,只需修改接口方法即可,而无需到处查找和修改SQL语句。3. 易于测试:接口绑定使得数据库操作容易进行单元测试。你可以单独测试每个方法的输入和输出,而无需依赖于具体的数据库连接。4. 支持多态:接

2023-07-31 08:21:42 340

原创 【无标题】

表单相关元素选择器是指文本框、单选框、复选框、下拉列表等元素的选择方式,该方法无论是否存在表单,均可以做出相应选择,表单选择器是为了能更加容易的操作表单,表单选择器是根据元素类型来定义的,拥有type属性才可以使用。选择器:就是一个字符串,用来定位DOM对象的,通知jQuery函数定位满足条件的DOM对象,然后可以通过jQuery的函数操作DOM。通过DOM对象的ID定位DOM对象,通过ID找对象,ID在当前页面中是唯一值。多个被选对象间使用逗号分隔后形成的选择器。选择器分为基本选择器、表单选择器。

2023-05-23 11:13:50 405

原创 事务传播特性和隔离级别

使用 REQUIRES_NEW 时,内层事务与外层事务就像两个独立的事务一样,一旦内层事务进行了提交后,外层事务不能对其进行回滚。使用 NESTED 时,外层事务的回滚可以引起内层事务的回滚,而内层事务的异常并不会导致外层事务的回滚,它是一个真正的嵌套事务。假设事务 A 通过一个 where 条件读取到了一个结果集,此时事务 B 插入了一条符合事务 A 的 where 条件的数据,之后事务 A 再次执行同样的查询时,发现多出来一条数据。事务隔离级别定义了在一个事务中,哪些数据是对当前执行的语句“可见”的。

2023-04-10 19:11:01 455

原创 ioc和AOP以及spring框架

DI—Dependency Injection,即“依赖注入”:是组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。是某个容器管理对象依赖于ioc容器;

2023-04-03 19:49:07 394

原创 java反射ioc/di

对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。IOC (依赖注入):一个类的功能需要依赖另一个类的配合,同时需要赋上一个具体的对象,则这种关系是依赖注入。类的加载器可以获得类中的东西:属性,构造方法,功能方法。

2023-03-29 19:34:41 320 1

原创 mybatis一对多

Mybatis的 collection 是一对多的使用的, 在 resultMap 标签内使用当一个Bean中有 一个list属性需要关联查询出来的使用就用collection 标签。一、colleciton 标签。配置文件 ClassInfo。

2023-03-21 08:37:53 481

原创 mybatis一对一

但是我们拿出单个员工来说,一个员工只属于一个部门,因此在MyBatis中,多对一的关系简化成了一对。我们以前的理解是,部门和员工的关系是一对多,员工和部门的关系是多对一;

2023-03-21 08:27:21 52

原创 表格的单查和修改

创建Java项目并导入mybatis框架的jar包。mapper映射配置文件。

2023-03-21 08:15:30 38

原创 mybatis入门

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。在接口的包中创建对应的mapper映射配置文件。

2023-03-07 08:11:11 220

原创 页面信息的修改和模糊查询

1.页面信息的修改(update t_goods set gname=?where gid=?模糊查询(select * from t_goods where gname like concat('%',?readonly 只允许读,不允许修改。a.根据id查询商品信息。

2023-03-01 08:22:39 47

原创 页面信息的添加和删除操作及作用域

session :是当前会话有效(同一个人使用同一个浏览器在任何页面都可以数据共享)application :是整个服务器有效,所有用户的请求都可以数据共享。pagaContext : 只能当前页面定义数据,当前页面使用。request :后端应用程序和页面有请求关系。pagaContext :当前页面作用域。session : 当前会话作用域。application :应用程序。request : 请求作用域。

2023-02-25 08:29:18 66

原创 基于MVC模型和分层模式完成登录和注册

bean.User里面的代码。dao里面的UserDao1。dao里面的UserDao2。登录页面前端设计的代码。控制层代码Login。

2023-02-20 08:21:55 129

原创 使用JDBC完成登录和注册

使用IntelliJ IDEA 开发首先把jar包导入内库中。结果处理 从结果集中获取数据,然后封装到实体类对象中。接下来进行获取数据库连接。

2023-02-17 20:41:34 107

原创 servlet跳转页面

web.xml里面进行配置servlet类 servlet类 的映射。新建一个index.jsp 并且创一个去登录的a标签。在login.jsp创建登录账户 密码以及登录按钮。Login文件中处理请求后设置响应的编码设置。

2023-02-17 08:20:24 47

原创 Idea软件配置tomcat以及创建web项目步骤

点击本地tomcat配置后,弹出配置窗口,点击右上角将刚刚下载好的tomcat进行配置进来。打开idea软件,点击右上角edit configuration进行编辑配置。右击add framework support 添加框架支持。先从tomcat官网上,下载自己需要的tomcat版本插件。弹出对话框后,打开左边下拉列表templates。找到tomcat server服务器配置。点击ok,tomcat配置成功。新建 Module 模块。配置tomcat服务器。配置tomcat服务器。

2023-02-13 20:31:47 265

原创 Thread类 Runnable接口

一、线程(Thread): 是操作系统进行调度的最小单位,Java中的线程是对操作系统线程的封装。本文从线程的创建到停止结合代码和具体实例分析一下关于java线程的一些常见问题。2、实现java.lang.Runnable接口,并传给Thread的构造函数。1、自己写一个类继承于java.lang.Thread类,并重写run()接口。

2022-12-17 09:29:20 197

原创 Java IO流

这种流是为了方便读取 普通文本文件 而存在的,这种流不能读取:图片、声音、视频等文件。纯文本文件,不单单是.txt文件,还包括 .java、.ini、.py。按照 字节 的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制位。第一次读:'a’字符('a’字符在windows系统中占用1个字节。第二次读:'中’字符('中’字符在windows系统中占用2个字节。第三次读:一个字节,正好读到’中’字符的另外一半。第二次读:一个字节,正好读到’中’字符的一半。第一次读:一个字节,正好读到’a’

2022-12-16 10:45:09 47

原创 String类

Java专门提供了用来处理字符序列String类。String类再java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。注:Java把String类定义为final类,因此用户不可以扩展String类,即String类不可以有子类。

2022-12-16 09:39:01 51

原创 使用字符流读写文件

1.字符流的介绍: 字符流 = 字节流 + 编码表 2.中文的字节存储方式: 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文1、使用字符流类 读文本文件的基本步骤: 字符流写数据的几种方式 刷新、关闭方法 字符流读数据的第2种方式方法介绍 字符缓冲流字符缓冲流介绍BufferedWriter: 将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小。默认值足够大,可用于大多

2022-12-13 19:23:28 1013

原创 java实现复制文件

2.在指定路径寻找目标文件,若指定路径没有目标文件,我们需要在指定路径创建目标文件,然后循环多次写入原文件中的信息,直至全部写入位置。1.在指定路径寻找原文件,若指定路径没有原文件,我们需要在指定路径创建文件,然后读取文件中的信息(每次读取1bit信息)

2022-12-12 09:21:34 1206

原创 文件的读取与写入

前面介绍的第一种方法不能读取字符串,第二种方法虽然可以读取字符串,但是由于每一行只能储存一个字符串,难免会觉得有些浪费空间。BufferedReader.readLine(),没有参数,返回——包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。如果我们想要读取的是一个字符串,前面所讲的第一种方法显然是不适用的,因此我们来介绍下另一种方法——按行读取数据。我们可以看下以下文件。我们首先把文件中的字符都读取到字符数组buf中,再遍历字符数组,每遇到一个分隔符就保存一次字符串。

2022-12-12 09:17:34 588

原创 字节输出流

FileOutputStream的构造函数中,可以接收一个boolean类型的值,如果值true,就会在文件末位继续添加,即续写。OutputStream此抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流的基本共性功能方法。OutputStream有很多子类,其中子类FileOutputStream可用来写入数据到文件。FileOutputStream类,即文件输出流,是用于将数据写入。我们在实际开发中,异常时如何处理。

2022-12-12 09:03:13 376

原创 File类常用方法

ile 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。File 类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。File 类提供了如下三种形式构造方法。1、File(String path):如果 path 是实际存在的路径,则该 File 对象表示的是目录;如果 path 是文2、件名,则该 File 对象表示的是文件。2、

2022-12-07 20:48:27 1275

原创 Calendar的常用方法

Calendar是什么?Calendar代表了系统此刻日期对应的日历对象。Calendar是一个抽象类,不能直接创建对象。不需要通过new来创建Calendar对象,而是通过Calendar类的getInstance()静态方法。常用方法:常用方法就是get、set和add方法 其他方法:Calendar类的实例代码如下:

2022-12-03 09:25:08 234

原创 SimpleDateFormat基本使用

最基本的使用随堂小练习假设,2000-11-11 请用字符串表示这个数据,并将其转换为:2000年11月11日 创建一个Date对象表示2000年11月11日 创建一个SimpleDateFormat对象,并定义格式为年月日把时间变成:2000年11月11日格式化符号:y:代表年份M:代表月份d:代表月份中的那一天,也就是日H:代表小时m:代表分钟s:代表秒S:代表毫秒

2022-12-03 09:08:41 477

原创 Date使用

Date 类型将日期保存为自协调世界时(UTC,Universal Time Coordinated)时间 1970 年 1 月 1 日午夜(零时)至今所经过的毫秒数。使用这种存储格式,Date 类型可以精确表示 1970 年 1 月 1 日之前及之后 285 616 年的日期。要创建日期对象,就使用 new 操作符来调用 Date 构造函数:方法与说明

2022-12-03 08:56:53 95

原创 ArrayList类基础使用

ArrayList。

2022-11-28 09:06:31 108

原创 random的基本使用

Java中存在着两种Random函数:一、java.lang.Math.Random;二、java.util.Random。

2022-11-25 08:56:13 175

原创 Scanner 的知识与使用

next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。输入多个数字,求其总和与平均数,通过输入非数字来结束输入,可以得到回车键之前的所有字符可以获得空白使用。

2022-11-25 08:47:20 344

原创 访问修饰符

default修饰的属性、方法、类,只能被本类或者同一个包中的其他类访问到,针对本包访问而设计,任何处于本包下的属性、方法、类、接口等,都可以相互访问。“私有的”,即被private修饰的属性、方法、类只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。当定义变量、方法以及类时,没有写访问修饰符,则代表默认的修饰符default。person类的子类在不同包中可以继承到的属性和方法。注意:private可以修饰内部类,不可以修饰外部类。可用来修饰内部类、属性、方法。

2022-11-23 09:05:46 722

原创 final 基础使用

1 修饰类当某个类的整体定义为 final 时,就表明了你不能打算继承该类,而且也不允许别人这么做。即这个类是不能有子类的。注意:final 类中的所有方法都隐式为 final,因为无法覆盖他们,所以在 final 类中给任何方法添加 final 关键字是没有任何意义的。这里顺道说说 final 类型的类如何拓展?比如 String 是 final 类型,我们想写个 MyString 复用所有 String 中方法,同时增加一个新的 toMyString() 的方法,应该如何做?

2022-11-23 08:56:24 172

原创 多态 类型转换

态指的是同一个方法调用,由于对象不同可能会有不同的行为。

2022-11-21 08:51:45 60

原创 接口的使用

在java中是一种引用数据类型,里面主要有常量、抽象方法(jdk及以前)、默认方法和静态方法(jdk8)、和私有方法(jdk9)。接口是一系列方法的声明,是一些方法的特征集合,一个接口只要方法的特征而没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现类的方法具有不同的功能。使用interface来声明一个接口里面包含常量、抽象方法、静态方法、默认方法、私有方法,最主要的还是里面的抽象方法需要一个实现类来实现接口当中的所有抽象方法。

2022-11-20 15:46:42 92

原创 什么是继承

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承的作用:通过继承可以快速创建新的类,实现代码的重用,提高程序的可维护性,节省大量创建新类的时间,提高开发效率和开发质量。子类不能选择性继承父类Java不支持多重继承,但一个类可以实现多个接口,从而克服单继承的缺点构造方法不会被子类继承,但可以从子类中调用父类的构造方法。

2022-11-20 15:42:36 292

原创 面向对象的思想

在introduce方法当中,就可以通过”this.方法名”的方式来调用这个方法,表示调用的是”本对象自己的greet”方法。类是一个事物的集合和抽象,代表这类事物共有的属性和方法,以后个对象称为类的实例,是类的一次实例化的结果,例如”张三“ 一个”Person“类的具体对象。:把问题看成若干对象的组成,这些对象之间是独立的,但是他们之间又可以相互配合,连接和协调,从而共同完成整个程序实现的任务。类是多个对象进行综合的抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。

2022-11-20 15:32:57 761

原创 java面向对象封装概念

封装(Encapsulation)是面向对象的三大特征之一(另外两个是继承和多态),它指的是将对象的属性信息隐藏在对象内部,不允许外部程序直接访问对象内部属性信息,而是通过该类所提供的方法来实现对内部属性信息的操作和修改。就如刚刚说的 Student 对象的 age 变量,只能随着岁月的流逝,age 才会增加,通常不能随意修改 Student 对象的 age。隐藏类的实现细节,让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问,提高对内部属性信息的安全性。

2022-11-11 11:09:38 76

原创 进制概念 面向对象概念

1.在计算机中,最常使用的是二进制,八进制,十进制和十六进制2.对于任何一种进制—x进制,就表示每一位置上的数运算时都是逢x进一位(1)二进制:0,1(2)八进制:0,1,2,3,4,5,6,7(3)十进制:0,1,2,3,4,5,6,7,8,9(4)十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F3.进制的运算所有进制的运算其实都可以转换为先转换为二进制运算,在继续运算(1)十六进制与二进制转换。

2022-11-08 22:01:33 58

原创 方法的定义和调用

returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。当方法被调用时,传递值给参数。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。方法包含一个方法头和一个方法体。方法名:是方法的实际名称。1.形式参数:在方法调用时用于接收外界输入的数据。方法体:方法体包含具体的语句,定义该方法的功能。2.实参:调用方法时实际传给方法的数据。方法的定义:方法声明或称为定义方法。

2022-11-05 14:12:25 44

原创 JDBC的模糊查询

模糊查询一般是通过一个输入框输入关键词,然后点击搜索进行检索,执行的是数据的模糊查询;即可,不在需要在传参的时候进行拼接。后期是通过页面获取用户输入的关键词。后期是通过页面获取用户输入的关键词。所以传参的时候需要对关键词进行前后。那么在传参的时候直接把关键词传参给。直接把关键词传参给预处理对象的。函数使用来做字符串的拼接;

2022-11-05 13:20:24 1867

原创 JDBC的增删改查

一、在mysql数据库中建表二、编写程序创建mysql_conn,存放DB_Helper类,用来连接数据库创建entity包,存放Emp类,作为用户的实体类创建dao包,存放Emp_dao接口,用来定义方法创建dao_impl包,存放接口的实现类Emp_impl创test包,存放Test测试类一、添加用户:一、接口Emp_dao中定义方法二、接口实现类Emp_impl中实现接口的方法三、测试类中调用方法。

2022-11-01 09:48:21 172

空空如也

空空如也

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

TA关注的人

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