- 博客(29)
- 收藏
- 关注
原创 [JAVA]JDBC的手动事务开发技巧—实现批量增加员工
对于这个需求,目前我们的数据库是无能为力的,因为我们在代码编写的过程中,我们并没有设置JDBC的事务模式,在默认的情况下,JDBC 会使用自动提交的方式,自动提交的含义是前面执行的过程中,每执行一次Update,立马对数据进行提交,所以即便是循环在了1005次时,抛出了异常,因为前面的五条数据已经完成了提交的工作,因此在我们数据表中。在我们的for循环完整执行以后,我们需要手动的调用conn.commit (),才可以对我们的事务区的数据进行提交,真正的写入到表中。
2024-11-02 20:07:22 1014
原创 [JAVA]JDBC事务管理方式
事务是以一种可靠的,一致的方式,访问和操作数据库的程序单元(说人话:要么把事情做完,要么什么都不做,不要做一半)。事务是依赖于数据库实现,MySQL通过事务区作为数据缓冲地带。事务的提交操作以上图是Java中的JDBC应用程序 远程操作 数据表,在MySQL中因为有事务区的存在,所以JDBC应用程序写入数据时,并不是直接把数据放到数据表中,而是先把它放到事务区里。如果数据很小的情况下,这个事务区中的数据放在内存中加快处理数据,但如果事务区比较大的时候,它往往会写入到硬盘。
2024-10-29 19:13:46 921
原创 [JAVA]JDBC如何实现写数据?——利用Java更新与删除MySQL中存储的数据(下)
在日常工作中,如果需要更改公司员工信息数据,或者需要删除一些离职员工信息数据,在这种场景下,我们如何实现对员工数据库的一些更新删除操作呢?4.根据executeUpdate()方法将受影响的行数赋给cnt变量,例cnt值为1则代表数据更新成功,反之,更新不成功。4.根据executeUpdate()方法将受影响的行数赋给cnt变量,例cnt值为1则代表数据删除成功,反之,删除不成功。方法用于执行SQL的插入,更新或删除操作,并返回受影响的行数,将返回值赋给cnt变量,这样可以知道有多少行数据被更新了。
2024-10-28 20:46:41 433
原创 [JAVA]JDBC如何实现写数据?——利用Java新增MySQL中存储的员工字段信息(上)
是一个用于操作数据库的工具类,它提供了一些便捷的方式来执行SQL语句,获取数据库连接等。设置SQL语句中的参数,第一个参数是参数的位置索引,从1开始。通过这些方法,可以将Java变量的值绑定到SQL语句中的参数,确保SQL语句的动态性和安全性。如果插入成功,通常返回值为1。得到的是一个Connection对象,他会抛出俩个异常,故用try—catch进行捕获,同时将Connection对象在try块外面进行声明。输出一条提示信息,表明员工的入职手续已办理完成,使用了参数ename来显示员工的名字。
2024-10-24 00:13:19 557
原创 [JAVA]IDEA演示使用PreparedStatement预编译接口防止SQL注入攻击
PreparedStatement 预编译Statement是Statement的子接口,作为这个对象它可以对SQL进行参数化,预防SQL注入攻击,而且PreparedStatement比Statement执行效率更高。这段代码创建了一个SQL查询语句字符串,该语句的目的是从名为“employee”的表中查询所有满足特定部门名称(dname)条件的记录。参数的索引从1开始,这是java中处理预编译语句参数的方式。这段代码执行预编译的SQL查询语句,并返回一个结果集rs,其中包含了满足查询条件的所有记录。
2024-10-20 13:41:28 946
原创 [JAVA]什么是JDBC?详细概述如何利用JDBC接口连接数据库 并查询MySQL中的数据
可以执行各种SQL语句,包括查询(SELECT),插入(INSERT),更新(UPDATE)和删除(DELECT)等操作。例如,我们可以使用JDBC执行一个查询语句来获取数据库中的数据,或者执行一个插入语句向数据库中添加新的数据记录。无论使用的是MySQL,Oracle,SQLServer等数据库,都可以通过JDBC提供的接口和驱动来实现连接。在进行这些操作之前,我们需要先了解JDBC入门,JDBC是一种用于执行SQL语句的JavaAPL,可以为多种关系数据库提供统一访问。第五步:关闭连接,释放资源。
2024-10-09 22:35:00 261
原创 [JAVA]介绍怎样在Java中通过字节字符流实现文件读取与写入
File类是java.io包下代表与平台无关的文件和目录,程序中操作文件和目录,都可以通过File类来完成。通过这个File对象,可以进行一系列与文件相关的操作,比如判断文件是否存在,获取文件属性,读取文件内容,写入文件内容,新建,删除,重命名文件和目录。运行结果显示:运行结果显示:通过File对象对文件本身的操作,比如实现了对于文件的创建,文件的删除等等,但是对文件的内容,作为File对象它是无能为力不能进行操作的,我们只能通过字节字符流实现文件读取与写入1.字节输入流读取二进制文件。
2024-09-16 18:42:01 1234
原创 [JAVA] 什么是Java线程同步机制?
我们能够发现,无论多少人在下面等待抢绣球,但最终,只有一个人能拿到这个绣球,成为唯一的幸运儿。在这个例子中,就是一个典型的同步机制。
2024-08-24 17:13:19 873
原创 [JAVA]创建多线程的三种方式与区别
创建一个ThreadSample2类,再定义内部类Runner ,这里不再像上面方法继承Thread类,而是实现一个Runnable接口,Runnable接口它提供了一种定义可执行任务的方式,用来实现多线程处理程序,在Runnable接口中必须要实现一个方法(run方法),此run方法与以上run方法体类似,这里只需注意在打印语句中对于当前线程名字的描述。这段代码在run方法中调用了Random用于生成随机数的类,然后使用nextInt(10)方法,生成0 — 9的随机数,这个生成随机数将作为速度的数组。
2024-08-21 09:57:54 783 1
原创 [JAVA]什么是泛型?泛型在Java中的应用
所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型
2024-08-21 09:31:08 1255
原创 [JAVA] 应用Collections实现集合List排序
按照默认情况下,list中的数据按照我们插入数据顺序排序,但在实际开发中,我们时常需要对数据进行排序操作,这里我们就可以学习利用Collections接口实现排序操作。ArrayList是List接口的一个实现类,通过使用new ArrayList<>()来创建一个具体的ArrayList对象,并赋值给List类型的引用变量list。针对sort方法,默认实现的是升序排列,如果要实现降序排列 ,则在以上代码的基础上新加一个内部类SampleComparator。在Java中创建了一个整数类型的列表对象。
2024-08-19 14:51:29 460
原创 [JAVA] Java中如何使用throws语句声明异常类型
在程序编写的过程中,我们编写捕获和处理异常的代码块去规避可能出现的风险,同时也可以利用它去完成一些程序的逻辑和项目当中需要某些特殊需求和特定任务处理。可以看出,利用throws在方法体中抛出可能出现的异常,然后调用时用try—catch就可以捕获出用户可能输入错误的数值。如果我们预测这段方法体代码可能出现多种不同类型的异常,我们可以通过多异常抛出的方法,通过逗号,间隔多种异常的类型。当方法抛出异常列表中的异常时,方法将不对这些类型及其子类类型的异常作处理,而抛向调用该方法的方法,由他去处理。
2024-08-17 18:05:04 1080
原创 [JAVA] 有关Java内部类介绍
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类,当我们进行实例操作时,内部类的信息获取需要通过外部类才能获取访问
2024-08-16 09:51:35 1085
原创 [JAVA] 有关Super关键字
我们知道,子类既可以继承父类的方法,同时也可以重写具有自己特色的方法,那么,该如何判断在子类中调用的是方法是继承自父类还是自己重写的方法呢通过代码测试,我们可以写定义一个动物类Animal及它的子类,并在其子类中重写父类的相关方法既在父类和子类中都定义run()方法,最后调用,看是哪个类中的run()方法被实现。然后我们一样在子类Cat 中同样写一个run()方法,然后将run()方法写入eat()方法里,在Test类中调用eat()方法。
2024-08-07 17:34:23 802
原创 [JAVA] 编写学生信息表,并通过方法实现学生与专业关联
首先需要新建项目,在项目中建立两个包,分别存放学生信息,学科信息和测试信息,在项目中建立包主要是为了避免项目中有很多类时,产生命名冲突,包也有助于将相关的类分组在一起,使项目结构更清晰,也可以控制访问权限,便于模块划分和复用等。在学习了封装和无参构造,多参构造方法和各种方法调用后,编写了以下如图所示的一个简单的学生信息管理,下面将一步步分析如何实现利用多类之间的方法调用来实现表。在这里我建立了两个包,分别有Student,Subject类和SchoolTest类。分别存放相关专业学生信息类和测试类。
2024-08-05 23:30:00 429
原创 C语言-关于指针概念的详细介绍
由于通过地址能找到所需的变量单元,可以说,地址是指向该变量的单元,因此,将地址形象化的称为“指针”。这里可以看到,指针的定义方式是:type+*,其实:char *类型的指针是为了存放char类型变量的地址,short*类型的指针是为了存放short类型变量的地址。在32位的机器上,地址是32个0或者1组成的二进制序列,那地址就得用4个字节的空间来存储,所以一个指针变量的大小应该是4个字节。总结:指针就是变量,用来存放地址的变量。概念:野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)
2024-07-28 17:01:52 154
原创 C语言—分支循环语句
如果没有哪一分支能匹配表达式,则执行标记为default的分支,default分支是可选的。否则,该函数返回-1。该语句执行时,先计算表达式的值,如果其值为真(既表达式的值为非0),则执行语句1;因为if-else语句的else部分是可选的,所以在嵌套的if语句中省略它的else部分将导致歧义。各表达式被依次求值,一旦某个表达式结果为真,则执行与之相关的语句,并终止整个语句序列的执行。如果语句中需要执行简单的初始化和变量递增,使用for语句更合适一点,它将循环控制语句集中放在循环的开头,结构更紧凑,清晰。
2024-07-18 23:52:00 395
原创 C语言练习-从字符串中删除出现的所有字符c
定义squeeze函数(操作字符串,删除的字符c),定义i,j,for循环字符串s[i] 不等于结束符为循环条件,然后 if 判断语句s[i]!=c ,将满足要求的字符串赋值给s[j],s[j]++首先,需要写主函数main,定义删除操作的字符“c”,再定义执行的字符串“abcd”,调用将要写的自定义函数squeeze,输出打印操作后的字符n。重新编写函数squeeze(s1,s2),将字符串s1中任何与字符串s2中字符匹配的字符都删除。最后手动添加字符串结束符。
2024-07-16 23:28:10 232
原创 C语言— 编写一个程序以确定分别由sighed及unsigned限定的char,short,int与long类型变量的取值范围,采用打印标准头文件中的相应值以及直接计算俩种方式实现。
在解决问题之前,我们要了解什么是无符号signed和有符号unsigned,char,short,int与long是什么类型,怎么按照要求求出变量取值范围。比如无符号的char类型,同样占用8位时,其取值范围是0到255,因为没有符号位,所以所有的位都用于表示数值,不能表示负数。“有符号”类型,比如有符号的char,short,int与long,可以表示正整数,零和负整数。“无符号”类型,例如无符号的char,short,int与long,只能表示零和正整数。
2024-07-13 09:29:47 181
原创 c程序设计语言 —基础知识概括
1-1 变量与算术表达式编写程序,使用公式打印华氏温度与摄氏温度对照表以上printf中的转换说明%3.0f表明待打印的浮点数(既fah)至少占3个字符宽,且不带小数点和小数部分;%6.1f表明另一个待打印的数(cel)至少占6个字符宽,且小数点后面有1位数字。%d 按照十进制整型数打印%6d 按照十进制整型数打印,至少6个字符宽%f 按照浮点数打印%6f 按照浮点数打印 至少6个字符宽%.2f 按照浮点数打印,小数点后有两位小数。
2024-07-07 23:54:10 736
原创 利用结构体变量创建一个People类型
2.比如表述人,人包括:姓名+年龄+地址+身高 这几项信息, 这里。(1)用 . 打印(结构体要从结构体变量中找到成员)(1)用 ->打印(结构体要从指针变量中找到成员)
2024-05-26 17:46:19 355
原创 C语言— 指针概念理解
(1)内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中运行的,所以为了有效的使用内存,就把内存划分为一个个小的内存单元,每个内存单元的大小是一个字节。32位指的是有32根地址线(电线) 或者是数据线 ,一旦通电就有正电和负电之分,如果正电用1来表达,负电用0来表达。为了能够有效的访问到内存的每个单元,就把内存单元进行了编号,这些编号被称为该内存单元的地址。通电后地址线可能产生2的32次方个二进制序列,就可以产生2的32次方 个内存编号。//打印地址,%p —以地址的形式打印。
2024-05-26 15:14:01 748
原创 #define定义常量和宏
int a =MAX;return 0;(1)函数的实现(未利用宏定义)if(x > y)return x;int a=8;int b=12;printf("最大值为%d",max);return 0;(2)利用了宏的定义X:Y)int a=8;int b=12;printf("最大值为%d",max);return 0;
2024-05-25 23:19:40 187 1
原创 关键字static的使用
结论:static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。结论:一个全局变量被static修饰,使得这个全局变量只能在本源文件中使用,不能在其他源文件内使用。结论:一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。用static修饰函数后。
2024-05-25 20:24:24 469
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人