- 博客(60)
- 收藏
- 关注
原创 Mybatis
在文献中看到的framework被翻译为框架Java常用框架:SSM三大框架:Spring + SpringMVC + MyBatisSpringBoot等。。框架其实就是对通用代码的封装,提前写好的一堆接口和类,我们可以在做项目的时候直接引入框架,基于这些现有的接口和类进行开发,可以大大提高开发效率。框架一般都以jar包的形式存在。(jar包中有class文件以及各种配置文件等。SSM三大框架的学习顺序:方式一:MyBatis、Spring、SpringMVC(建议)
2024-05-07 13:57:49 806
原创 SpringIOC容器Bean对象的实例化模拟
*** Bean属性对象:用来封装Spring配置文件中bean标签的id和class属性值*///存放bean标签的id值//存放bean标签的class属性值return id;<beans></beans>/*** Bean工厂接口的定义*///根据id属性值获取bean对象/*** 模拟Spring的实现* 1.通过有参构造方法获得对应的配置文件。
2024-04-20 15:30:41 193
原创 Mybatis的注解开发
mybatis中也提供了注解式开发方式,采用注解可以减少Sql映射文件的配置。使用注解式开发的话,sql语句是写在java程序中的,这种方式也给sql语句的维护带来成本。使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。模块名:mybatis-013-annotation打包方式:jar。
2024-04-19 23:14:33 922
原创 Mybatis的延迟加载
在关联查询时,使用MyBatis的延迟加载可有效的减少数据库压力,首次查询只查询主要信息,关联信息等用户获取(需要)时再加载。懒加载针对级联使用的,懒加载的目的是减少内存的浪费和减轻系统负担。你可以理解为懒加载就是按需加载,当我调用到关联的数据时才与数据库交互,否则不交互。resultMap可以实现高级映射(使用association、collection实现一对一和一对多映射),association、collection具备延迟加载功能。
2024-04-18 17:49:26 708
原创 Mybatis关联查询
用户表: 记录用户的基本信息。订单表: 记录用户所创建的订单(购买商品的订单)。订单详情表: 记录订单的详细信息,即购买商品的信息。商品表: 记录商品的基本信息。
2024-04-18 14:27:30 788
原创 Mybatis中的动态SQL
动态Sql是指MyBatis对Sql语句进行灵活操作,通过表达式进行判断,对Sql进行灵活拼接、组装。多条件查询创建模块:mybatis-008-dynamic-sql打包方式:jar引入依赖:mysql驱动依赖、mybatis依赖、junit依赖、logback依赖mapper接口:com.powernode.mybatis.mapper.CarMapper引入配置文件:mybatis-config.xml、jdbc.properties、logback.xml。
2024-04-17 19:45:10 942
原创 输入参数映射和输出结果映射
传入单个pojo对象或自定义类型对象给SQL映射文件,但不是简单类型。开发中通过实体类或pojo类型传递查询条件,查询条件是综合的查询条件,不仅包括实体类中查询条件还包括其它的查询条件,这时可以使用包装对象传递输入参数。处理:#{} 里面写pojo对象的属性名。这个属性名其本质上是:set/get方法名去掉set/get之后的名字。需求:插入一条Student数据/*** 保存学生数据* @return*/@Teststudent.setName("李四");
2024-04-15 21:19:31 778
原创 JDBC.
1、Java DataBase Connectivity(Java数据库连接)JDBC是sun公司提供的一套用于数据库操作的接口,java程序员面向这套接口编程即可。不同的数据库厂商 对这套接口 提供了不同实现。不同的实现的集合,即为不同数据库的驱动。
2024-03-21 09:00:04 636
原创 vo、po、dto、bo、pojo、entity
POJO:Plain Ordinary Java Object,简单无规则java对象。PO:Persistant Object,持久层对象。(可以认为就是Entity)DTO:Data Transfer Object,数据传输对象。BO:Business Object,业务对象。DO:Domain Object,领域对象,VO:Value Object,值对象。Entity:实体类对象。
2024-03-20 20:25:27 328
原创 ArrayList集合、Vector源码分析(JDK21)
ArrayList集合的扩容策略:此时ArrayList集合内部的数组不够存储新元素了,会扩容为原来的1.5倍。内部创建了一个指定长度的数组 并赋值给了elementData。使用无参构造方法创建ArrayList集合时,Vector集合的扩容策略:每次扩容原来的2倍。ArrayList的容量初始化为 10。结论:第一次添加元素时,会扩容为10。执行时调用的方法都和无参的一样。第二次添加元素也还不会扩容。
2024-02-19 16:37:23 361
原创 public class和class的区别
如果一个类用了public修饰,那么它的类名必须和java源文件名一致。public修饰的类只能有一个。
2024-01-30 23:44:20 402
原创 Java反射机制
概述:Java反射机制其实就是在程序运行过程中获取类的信息和使用类的手段(使用类的另一种方法)java反射的优点提高了Java 程序的灵活性和扩展性,避免将固有的逻辑程序写死在代码里面动态性:Java反射使得程序可以在运行时动态地获取和操作类的信息,而不需要在编译时就确定类的类型和结构。这种动态性使得程序更灵活、更具有适应性和可扩展性。通用性:Java反射提供了一种通用的方式来获取和操作类的信息,允许程序通过相同的方式来处理各种类型的类。
2024-01-30 15:04:48 879
原创 ArrayList集合简单源码分析+一道面试题
有参构造方法分析:内部创建了一个指定长度的数组 并赋值给了elementData。在调用add方法的时候本质上是调用了HashMap的put方法。此时ArrayList集合内部的数组不够存储新元素了,会扩容。在调用add方法时,本质上是调用了TreeMap的put方法。[1, 3, 2, null, 张三, 李四, 3]在其无参构造方法中实例化了一个HashMap实例。[1, 3, 2, null, 张三, 李四]无参构造方法:相当于内部创建了一个空的数组。执行时调用的方法都和无参的一样。
2024-01-27 22:40:01 407
原创 Java封装字符串的类和异常
什么是APIAPI (Application Programming Interface) :应用程序编程接口java中的API指的就是JDK 中提供了各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。打开帮助文档找到索引选项卡中的输入框在输入框中输入Random看类在哪个包下看类的描述看构造方法看成员方法。
2024-01-22 18:51:35 807
原创 Java中代码块、内部类
在Java中,用 { } 括起来的代码被称为代码块内部类概念在一个类的里面,再定义一个类。举例:在一个类A的内部再定义一个类B,类B就被称为内部类内部类定义格式/*格式:class 外部类名{修饰符 class 内部类名{*/内部类的访问特点在内部类中,可以直接调用外部类的成员,包括私有成员在外部类中,要访问内部类的成员时,需要先创建内部类的对象i.show();
2024-01-17 19:55:20 811
原创 Java中的方法
使程序结构更清晰提高程序的开发效率提高代码的复用性有利于程序的维护修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...) {方法体;...return 返回值;具体说明:修饰符:权限访问控制修饰符、static修饰符、final修饰符等返回值类型:定义方法返回值的数据类型方法名:用户自定义的标识符参数类型:就是数据类型,用于限定 调用方法时 传入参数的数据类型(形参和实参的数据类型要一致)参数名:是一个变量,用于接收调用方法时传入的数据。
2024-01-14 23:36:18 450
原创 java的数据类型解析
在Java中,一些数据类型之间是可以相互转换的。// 将int类型的10直接赋值给double类型。e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;在java中整数默认是int类型,浮点数默认是double类型。boolean类型不能与其他基本数据类型的转换。参与运算的数据 数据类型的结果以大的为准。,无法自动转换数据类型,不强转会报错。,Java中的数据必须明确数据类型。
2024-01-11 22:12:56 822
原创 idea如何实现Servlet程序
单机File->Project Structure进入Project Structure界面然后进行如下操作进入到Choose Libraries界面然后选择Tomcat后点击Add Selected然后就可以在以下界面看到Tomcat,然后点击OK最后servlet-api.jar包就导入进来了。进入Project Structure界面。单机File->Project Structure然后这样,进入Select Library Files界面。
2023-05-08 16:59:12 745
原创 虚拟机快照
在VMware Workstation Pro的这个地方可以拍摄快照。在哪个位置拍摄快照就会从哪个位置发一个分支出去,例如下图中的B->D。
2023-05-04 21:46:45 91
原创 关系数据库标准语言——SQL
列约束:为单个字段定义约束,跟在列定义后面用空格分隔表约束:为多个列定义约束,在列定义的最后用逗号分隔定义,需要指出约束的列[CONSTRAINT 约束名] 约束类型当约束不指定名称时,系统会自动给定一个名称。NULL/ NOT NULL约束NULL表示不确定或没有数据的意思,当某一字段必须要填入值的时候,可以使用NOT NULL。例如:主键列不能出现空值,不然就会失去唯一标识一条记录的作用(只能用于定义列约束)[CONSTRAINT 约束名] NULL|NOT NULL。
2023-04-26 21:32:28 482 1
原创 工厂方法模式
HaierTVFactory是具体工厂类,是抽象工厂TVFactory的子类,实现了抽象工厂中的抽象方法produceTV(),返回一个抽象产品TV类型的对象。TVFactory是抽象工厂类,可以是接口也可以是抽象类,它包含了抽象的工厂方法produceTV(),返回一个抽象产品TV类型的对象。TV是抽象产品类,可以是一个接口也可以是一个抽象类,里面定义了所有产品都具有的业务方法play()。HaierTV是抽象产品TV的子类,是一个具体的产品,实现了TV接口中的抽象方法。(1)抽象产品类TV(电视机类)
2023-04-11 00:15:23 75
原创 适配器模式实例与解析
适配者Dog类是一个现有的具体类,它包含了用户所需业务方法的具体实现,如本类中的wang()方法和run()方法,但是方法名和Target接口不一致,甚至没有Target的源代码。Robot充当目标抽象类,客户端针对抽象的Robot类进行编程,在Robot中声明了客户端要调用的业务方法(也可以是实现)在类适配器中,它实现了Target接口,实现了里面声明的抽象业务方法,并继承Adaptee类,为了调用适配者类的业务方法。适配器模式包括类适配器模式和对象适配器模式。(2)适配者类Dog(Dog类)
2023-04-09 02:22:19 203
原创 单例模式实例与解析
PrintSpoolerSingleton是打印池单例类,如果在系统中不存在则创建新的对象,如果存在则抛出一个PrintSpoolerException类型的异常。(1)自定义异常类PrintSpoolerException(打印池异常类)(2)单例类PrintSpoolerSingleton(打印池类)在系统中只能运行一个打印池对象,如果重复创建则打印池抛出异常。
2023-04-07 10:49:50 43
原创 javaweb
自定义对象有点类似与java中的类在自定义对象中定义函数的简写语法,直接把:function删除:之后就可以通过对象名.的方式调用对象中的属性或函数了。
2023-03-22 21:50:12 72
原创 JavaScript
定义:程序运行过程中其值可以变的量,是用来存储数据的容器。概述:未定义数据类型只有undefined一个值,当只声明变量,但没有赋值给变量时,变量的默认值就会为undefined。
2023-03-21 21:39:56 75
原创 html5的常用标签
本文章是看了黑马的HTML5和css3课程做的,其实就是为了方便复习,所以文章质量可能不好,看不懂的可以绕过。。如果是看过课程的可以参考下,毕竟ppt的内容都截下来了也做了一些补充,方便后期复习,后期复习的时候要是忘记哪了就可以不用再去翻视频了。(因为手机端好像不能看仅我可见的博客,所以还是只能发公开的了)
2023-01-11 17:44:23 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人