![](https://img-blog.csdnimg.cn/2021040907351165.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
(9)JDBC入门
文章平均质量分 71
JDBC的API,JDBC案例,SQL注入漏洞,DBUtils工具列,JDBC事务,基于实体类的封装分页,Druid&c3p0连接池,工具组件等;
小懒羊爱吃草
小枯林
展开
-
JDBC入门十七:Summary(当使用Apache Commons DBUtils的时候,如何批量处理?这是个待解决的问题)
(1)数据库连接Connection需要使用数据库连接池;一般会提供一个DataSource数据源对象,来获取Connection对象;(2)使用预编译Statement,PrepareStatement对象:来执行SQL语句;而引入的Apache CommonsDBUtils,可以简化这个过程;(3)具体执行SQL语句可以使用Apache CommonsDBUtils;(附1):连接池+CommonsDBUtils组合使用的时候: 查询可以不使用事务,...原创 2021-04-14 08:14:48 · 225 阅读 · 1 评论 -
JDBC入门十六:Apache Commons DBUtils;(简化:增删改查)
Apache Commons DBUtils目的就一个:简化JDBC的操作。目录1.下载CommonsDBUtils2.Commons DBUtils引用到工程中3.Commons DBUtils使用:数据查询操作(与Druid连接池结合)4.Commons DBUtils使用:数据更新(新增、修改、删除)操作(与Druid连接池结合)注:这些东西原理不复杂,但是需要在实际使用中熟练,然后才能得心应手。。。JDBC的开发需要五个步骤:加载并注册JDBC驱动,创建数据库连接,创建.原创 2021-04-14 04:41:00 · 2206 阅读 · 0 评论 -
JDBC入门十五:连接池(3):C3P0连接池入门;
Druid是阿里巴巴的实现;C3P0是mchange的实现;国内2014年之前的一些历史项目中使用C3P0的比较多;14年以后,阿里巴巴的Druid连接池使用的比较多;目录1.下载C3P02.将C3P0的jar包引入到工程中3.C3P0使用案例(1)创建c3p0-config.xml(2)创建C3P0Sample类1.下载C3P0C3P0的官网:https://www.mchange.com/projects/c3p0/;C3P0是mchange这个机构下面的原创 2021-04-13 13:22:09 · 355 阅读 · 0 评论 -
JDBC入门十四:连接池(2):Druid连接池的配置和使用;(在实际中使用尚有疑问?后续明确了,需要再回头改)(包含读取配置文件,及路径格式的处理)
第三方目录1.Druid下载2.将Druid的jar包添加进工程3.Druid连接池:初体验案例(1)创建druid-config.properties文件(2)编写DruidSample类(3)总结,分析(重要!!!)4.Druid连接池的几个点(1)【initialSize=10】和【maxActive=20】属性设置(2)【initialSize=10】默认连接数不够的话,会启动最大连接数【maxActive=20】属性(3)如果程序中数据库连接数的需求超过原创 2021-04-13 12:05:24 · 1905 阅读 · 0 评论 -
JDBC入门十三:连接池(1):连接池简介;(纯文字性介绍)
什么是连接池:如工地主管在管理建筑的配套物资的时候,各种物资应该提前准备好,放在物资仓库中,而不是需要什么东西再去现采购。如果某些建筑材料不够了,提早发现,提前去补充。所以,连接池也可称作连接仓库。为什么要出现连接池这样的组件?数据库连接是Java应用程序和MySQL服务器之间的物理的网络通讯桥梁,建立数据库连接的过程是比较耗费资源和时间的。如果按照以前的做法:要执行SQL之前,先去创建数据库连接,然后再去执行SQL语句,程序的执行效率就会下降;但如果,在应用程序启动的时候,按.原创 2021-04-13 04:11:41 · 229 阅读 · 0 评论 -
JDBC入门十二:JDBC数据批处理;(这也是一个相对零散的知识点,较重要!)
批处理:对数据进行批量处理,尤其是对同一张表反复进行的大量数据新增、修改、删除操作;问题描述:BatchSample:tc1()方法未采用批处理;tc2()方法采用了批处理。package com.imooc.jdbc.sample;import com.imooc.jdbc.common.DbUtils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLEx..原创 2021-04-13 02:03:36 · 294 阅读 · 2 评论 -
JDBC入门十一:JDBC中的Date日期的处理方式;(包括读取和更新)&(这是一个零散的知识点,较重要!)
本篇博客的代码沿用上篇博客JDBC入门十:基于JavaBean实体类,实现分页数据封装;中的代码;一.数据库中日期类型说明:(1)MySQL中date和datetime类型是可兼容的;(2)java程序给数据库的日期字段赋值的时候,只有setDate()方法,而没有setDateTime()方法;二:从数据库中读取日期数据1.首先,在JavaBean:Employee类中,添加日期属性hiredate:类型是java.util.Date2.然后,在PaginationC.原创 2021-04-13 01:07:35 · 6166 阅读 · 0 评论 -
JDBC入门十:基于JavaBean实体类,实现分页数据封装;
对员工数据进行分页查询,分页获取的数据进行封装,包装成一个一个的员工实体对象。(JavaBean)(废话:)原创 2021-04-12 19:00:39 · 639 阅读 · 0 评论 -
JDBC入门九:JDBC实现事务(十分重要!!!)
事务事务一:JDBC事务介绍MySQL之所以能在实际中使用,就是因为其有事务机制。MySQL,Oracle这样的关系型数据库都是支持事务的;也有很多小众的数据库是不支持事务的。1.事务及事务区:(1)【commit提交】●应用程序在写入数据时,并不是直接把数据放入到表中,而是先把数据放在事务区中;●事务区是MySQL自带的;如果数据很小的时候,事务区中的数据放在内存中,以加快处理速度;如果数据比较大的时候,其会用一块硬盘空间作为事务缓冲;以A借给B100元...原创 2021-04-12 06:54:45 · 1329 阅读 · 1 评论 -
JDBC入门八:封装一个DbUtils工具类;以及新增、更新、删除数据;(这三个操作均采用PreparedStatement)
本篇博客还是沿用JDBC入门五:一个按部门查询员工功能的例子这篇博客中的接口:本篇博客篇幅很长,但核心内容就3点:(1)【新增、更新、删除数据】的方法;(2)DbUtils;(3)第二部分包结构和类组织的套路;目录一.封装DbUtils工具类:二:新增、更新、删除实现1.新增(写操作):InsertCommand类2.更新:UpdateCommand类3.删除:DeleteCommand类4.Command接口内容5.入口类:HumanResourceApplicati.原创 2021-04-12 04:01:49 · 1287 阅读 · 0 评论 -
JDBC入门七:SQL注入攻击:SQL注入攻击的解决策略:PreparedStatement预编译SQL;
的粉红色倒海翻江1.PreparedStatemen简介PreparedStatement:预编译Statement,其目的是解决SQL注入攻击的问题。PreparedStatement: (1)PreparedStatement本质也是一个接口,只是其继承自Statement接口;专用于对SQL语句进行预处理以后再去执行; (2)在实际工作中,推荐使用PreparedStatement;2.PreparedStatement和Sta...原创 2021-04-11 10:57:49 · 560 阅读 · 0 评论 -
JDBC入门六:SQL注入攻击:什么是SQL注入攻击?;Java中引号嵌套的分析;
接上篇博客,沿用JDBC入门五:一个按部门查询员工功能的例子这篇博客中的案例代码;目录一:什么是SQL注入攻击(1)情况阐述(2)演示准备(3)启动程序,SQL注入攻击演示(4)分析附:字符串拼接时:引号嵌套的分析一:什么是SQL注入攻击(1)情况阐述即在这个例子中,是通过拼凑变量和字符串的方式得到最终的SQL语句的;而这种处理方式是有很大隐患的。(2)演示准备如:QueryCommand类作两处更改:(3)启动程序,SQL注入攻击演示..原创 2021-04-11 02:30:03 · 292 阅读 · 0 评论 -
JDBC入门五:JDBC驱动分析:一个按部门查询员工功能的例子;(主要是看其编码的习惯和组织套路);第3,第4,第5步分析;
本篇博客主要是观察其接口和类的组织方式和套路:首先:创建HumanResourceApplication类;作为入口类;这个类作为入口类,接受键盘输入,然后根据输入去调用其他类中定义的方法;package com.imooc.jdbc.hrapp;import com.imooc.jdbc.command.Command;import com.imooc.jdbc.command.QueryCommand;import java.util.Scanner;public cl.原创 2021-04-10 15:36:59 · 502 阅读 · 0 评论 -
JDBC入门四:JDBC驱动分析:下载MySQL驱动;将驱动添加到工程中;加载驱动类(5步中的第1步)分析;创建数据库连接(5步中的第2步)分析;第1和第2步的案例和相关异常分析;
JDBC分析。发送到1.下载MySQL驱动要完成对数据库的操作,其本质是JDBC通过对应数据库的驱动程序完成与数据库的交互操作;JDBC是一个标准的接口,即定义了一套规范;每一个数据库的厂商都要根据JDBC的要求开发一系列的驱动程序,来完成与数据库的交互操作。So,这些JDBC的驱动程序如何获取?去数据库厂商的官网获取;以获取MySQL的驱动程序为例:因为,是java开发,所以自然下载JDBC的那一个;2.将驱动添加到工程中(或者说是替换旧的.原创 2021-04-10 14:25:05 · 600 阅读 · 0 评论 -
JDBC入门三:一个标准的JDBC范例;(JDBC引入,一个标准的例子)
目测JDBC和JavaScript一样,都是很重要而且基础性的东西。本篇博客,提供了相当于是JDBC初体验,是一个JDBC的范例,一个标准的流程。目录1:准备数据库2.创建一Java工程3.引入MySQL的驱动:4.JDBC标准的代码范例(必须要牢记每个步骤)1:准备数据库字符集选择【utf8mb4】;这儿的【utf8】对应的是3字节的编码,即其在表达汉字或其他复杂字符的时候,最多能用3个字节来表示,即如果要存储复杂的生僻汉字或者Emoji这种表情符号的时候(这些字符是用原创 2021-04-10 11:16:17 · 364 阅读 · 0 评论 -
JDBC入门二:JDBC是什么?数据库驱动程序是什么?
JDBC介绍:● JDBC是关系型数据库的;……………………………………………………什么是驱动程序:这个鼠标的例子只是为了说明:主机提供了统一的接入标准(USB),不同的设备要想插入到主机上,就必须开发一个符合主机标准的驱动程序。由上面的例子,就可以引出数据库驱动程序了:上面例子中的USB就相当于Java的JDBC,上面例子中鼠标等设备的驱动程序就相当于数据库的驱动程序。● 市场上的数据库有很多种,为不同的数据都提供适配显然是不好的;Java设计师也没有那么大的精力。原创 2021-04-09 08:26:15 · 1686 阅读 · 0 评论 -
JDBC入门一:内容概述
● 如何使用Java程序操作MySQL?这就是JDBC解决的问题。● JDBC是Java领域中,最重要,最基础的内容!!!三个主要部分:主内内容:原创 2021-04-09 07:40:42 · 170 阅读 · 0 评论