- 博客(28)
- 收藏
- 关注
原创 基于注解管理bean-基于组件扫描
元素开启 Spring Beans的自动扫描功能。开启此功能后,Spring 会自动从扫描指定的包(base-package 属性设置)及其子包下的所有类,如果类上使用了 @Component 注解,就将该类装配到容器中。1、组件扫描,如下面代码表示扫描范围为com.atguigu包下的所有类,并且这些被扫描的类如果被例如@Compenent标注了,则会被装配到容器。也就是说,我们要配置扫描,让spring通过扫描指定的包,并将标记(被注解如@Component标注)的类装配(或排除)进入到容器中。
2024-09-13 10:37:54
224
原创 处理多对一的映射关系
Emp实体类中设置Dept 属性并生成get、set方法,生成toString方法,但是构造方法不必包含此属性在EmpMapper.xml文件中:</</</</</</</</</
2024-06-01 17:15:39
400
原创 处理一对多的映射关系
一对多关系,比如说根据id查询一个部门的部门信息及部门下的员工信息。在Dept类中先添加List emps属性。DeptMapper.xml文件中。
2024-06-01 17:14:52
370
原创 解决字段名和属性名不一致的情况
假如类中的属性和数据库表中的字段名不一致,比如Emp类中的属性为empName,对应的表中的字段名为emp_name,此时无法正常映射。2、设置全局配置,将_自动映射为驼峰,如:emp_name : empName。3、通过resultMap设置自定义的映射关系。1、为字段起别名,保持和属性名的一致。在config.xml文件中配置。在Mapper.xml文件中配置。
2024-06-01 17:14:08
232
原创 解决字段名和属性名不一致的情况
假如类中的属性和数据库表中的字段名不一致,比如Emp类中的属性为empName,对应的表中的字段名为emp_name,此时无法正常映射。2、设置全局配置,将_自动映射为驼峰,如:emp_name : empName。3、通过resultMap设置自定义的映射关系。1、为字段起别名,保持和属性名的一致。在config.xml文件中配置。在Mapper.xml文件中配置。
2024-06-01 17:13:38
163
原创 MyBatis查询功能
(3)可以在mapper接口上添加@MapKey注解,此时就可以将每条数据转换的map集合作为值,以某个字段的值作为键,放在同一个map集合中。结果:{password=123456, sex=女, id=8, age=22, email=1234@qq.com,(1) 可以通过实体类类型的list集合来接受,不能通过实体类对象接收,否则抛出异常。(2)可以通过map类型的list集合接收。(1)可以通过实体类对象或者集合接收。(2)可以通过List集合接收。(3)可以通过map集合接收。
2024-06-01 17:13:08
355
原创 python切片(彻底解除对切片的曲解)
step为正时默认为0,step为负时默认为-1:_ step为正时默认为结尾结束,step为负时默认为开始位置_以该字符串举例,从开始截取(包括start),截取到(不包括stop),为截取的步长(step的符号为截取方向,正则从左到右,负则从右到左)下面是几个例子:下面几个例子说明了序列下标为负时的含义(并未用到切片,不是默认了stop和step)print(ss[-1]) # g 倒数第一个元素print(ss[-3]) # e 倒数第三个元素。
2024-06-01 17:03:29
1224
原创 MyBatis获取参数值
KaTeX parse error: Expected 'EOF', got '#' at position 4: {}和#̲{}以任意的名称获取参数值(也…** 此时Mybatis会将这些参数放在一个map集合中,以两种方式进行存储:**** (1)以arg0,arg1,arg2…为键,以参数为值**** (2)以param1,param2…** 只需要通过#̲{}和。** * 添加用户信息**以键的方式访问值即可,但是需要注意。** 动态设置表名**
2024-06-01 17:00:03
689
原创 使用jsp输出9*9乘法表
在E:\Develop\apache-tomcat-9.0.27\webapps\testWeb目录下创建一个.jsp文件,内容为下列代码,用tomcat启动。静态代码(HTML)也被交给服务器(tomcat)处理,这样增加了服务器的负担。可作更改,让服务器只处理动态代码。尽量不要在jsp页面中嵌入原生Java程序,否则会降低可读性。,如我们这里的代码的可读性就大大降低,不建议这样做。可以看到该页面的源代码其实就是html代码。使用jsp在浏览器生成一个99乘法表。(用<%%>包裹起来的部分)。
2024-03-27 19:19:08
979
原创 Java虚拟机(JVM)、Javac、JDK之间的关系
JDK 包含很多组件,如: Java 编译器:将Java 代码编译成字节码的工具,可以将Java 代码转换成可在Java 虚拟机上运行的字节码文件。JDK 包含了Java 编译器、Java 虚拟机、Java 标准库等组件,可以用于开发和运行Java 应用程序。为后缀名为.class的可以运行于。所研发并实现第一个实现版本,是。为.java的源文件。的一部分,能够执行以。
2024-03-20 18:19:21
665
1
原创 web项目的目录结构
打开WEB-INF文件,新建一个classes文件夹和lib文件夹,并把apache-tomcat-9.0.27\webapps\ROOT\WEB-INF 目录下的web.xml文件复制到此处。在test1中新建一个文件夹WEB-INF和一个文件hello.jsp。hello.jsp文件可以把一个文本文件后缀由.txt改为.jsp而成。我们在tomcat安装目录下找到webapps文件夹。hello.jsp文件内容为hello world。在webapps中新建一个文件夹test1。
2024-03-20 10:15:54
559
1
原创 sizeof()和strlen()函数计算字符数组和字符串的长度和占用空间的区别
sizeof,C语言中的一个单目运算符,用来计算数据类型所占空间的大小,单位为字节而strlen是一个函数,用来计算字符串长度。
2023-12-05 09:51:12
544
原创 指针动态分配一维和二维数组
需要使用malloc()函数,并且使用这个函数前要先引入一个头文件但是我们知道,在C语言中这种代码显然是错误的,声明数组时[]内部必须是一个常量。有这样一个要求:在键盘上第一行键入一个整数n,第二行键入n个整数并存入数组中。以上代码看起来完美无比,以至于每个初学者都不可避免地尝试过这种方法。此处以三行四列数组为例。
2023-12-04 20:25:29
359
原创 《匿名类》
把上图红圈内的内容看成一个对象,这个对象属于一个没有名字的类,这个没有名字的类继承自Animal抽象类,因而这个对象当然就可以调用eat()方法了。但这样太麻烦了,我们为了实现调用eat()方法使其具体化,不得不特意创建一个Dog类,在其中重写这个方法,特别麻烦。因为抽象类是不可以实例化的,如果我们要实现Animal类,那么我们可以再次创建另一个类来继承它,并且重写它的所有抽象方法。method()方法需要的参数是Animal的子类对象,在上面代码中,红圈中的内容就相当于Animal的子类对象。
2023-12-03 19:47:17
354
1
原创 反射获取构造方法及其相关用法
此帖主要讲述如何使用反射来获取构造函数,包括获取构造方法的修饰符、名字、形参,以及创建对象先创建一个包,包下有两个类:Student类和MyReflectDemo类,其中main函数在MyReflect类中Student类有四个构造方法,用不同访问修饰符修饰,public:Sutdent()和Student(String name,int age), protected:Student(String name) , private:Student(int age);
2023-12-02 20:08:37
1180
1
原创 Java中的数组长度与元素个数
结果我懵逼了,结果不是我想要的3,而是9,于是我又加入了几个数到数组中,发现无济于事,数组始终为9,这与我以前的认知是不同的,我一直以为length()函数返回的是数组中元素的个数,并且在以往该函数的使用中也并未发现问题。这个答案是毫无疑问的,一个数组的长度就是其元素的个数,那么既然length()返回的是一个数组的长度,那么它也就是数组的元素的个数,也就是说它应该是3而非9。可以看到这与我们的想法是不同的,数组中并不是3个元素,而是实打实的9个元素,也就是说数组未被复制的其他部分自动被自动初始化为0了。
2023-11-24 20:30:05
1707
1
原创 String与StringBuilder的区别
1:String的值是不可变的,StringBuilder的值是可变的。String每赋予一个值,都会产生一个新的地址,而StringBuilder是在原有地址上一直更改的,节省了大量的空间,所以了它运行的速度更快。如果String是可变的话,那么修改前后变的只是它的值,它的地址是不变的。可以看到sb3虽然在sb拼接前赋的值,然而最后输出时却是拼接后的结果并且sb3==sb的返回值为false,说明sb3和sb地址是一样的。首先,我定义了一个字符串,并初始化,然后对其进行拼接操作,发现居然可行?
2023-11-19 18:46:19
58
原创 Java中equal()和 ==的区别
我知道你是指运算符重载,但是很遗憾,Java中不支持运算符重载(java中亦有重载过运算符,他们是 “+”,“+=”,不过也仅此两个,而且是内置实现的);这是因为在上一个例子中,str2=str1是浅层复制,二者共用一个内存空间,因此str1==str2必然返回真,而在此例中str1和str2都分别new了一个空间,str1==str2返回假。引用(即内存地址)是否相等,而equals ()比较的是两个对象的值(即内存地址里存放的值)是否相等。2) 如果要比较两个对象引用是否相等,请用= =;
2023-11-19 12:40:02
132
原创 Vector类的空间增加问题
值得一提的是,当n<=0时,Vector增长速度仍是一倍,n的输入是无效的。假如我们继续加入新元素,当元素总数到达十一个时,容器容量又会变为二十,当元素总数为二十时,容器容量又会变为四十.......,以此类推,如果不对容器的增长速度加以限制的话,将会极大地造成空间的浪费。我们可以看到不仅元素个数为预期的“7”,容器容量也变成了10,这是因为当元素个数大于容器容量时,容器容量会在原来的基础上扩大两倍。可以看到当我们加入四个包装类对象后,元素个数相应地增加为4,但容器容量却依然为5。再插入三个包装类对象。
2023-09-16 18:24:28
116
1
转载 throw与throws的区别
2、如果是系统异常的话可以什么都不用做,也可以针对方法抛出一个异常,但是还是建议针对方法写一个throws,因为这样在完成一个大型任务的时候可以让别的程序员知道这里会出现什么异常。4、同时出现的时候,throws出现在函数头、throw出现在函数体,两种不会由函数去处理,真正的处理由函数的上层调用处理。3、throw,如果执行了,那么一定是抛出了某种异常了,安生throws表示可能出现,但不一定。throws用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。throw与throws的区别。
2023-09-13 20:07:09
430
原创 明明对了为啥报错,leegode好难,哪位大佬帮我看看
/tem为j每次开始的位置。//无重复字符子串个数。int num=0;//每个子串长度暂时存储位置。,请你找出其中不含有重复字符的。
2023-07-08 18:35:56
61
scanf-s函数如何同时输入字符串和浮点数
2022-12-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人