当前位置: 主页 > JAVA语言

java上传文件到数据库-java实现云盘文件上传

发布时间:2023-05-29 09:09   浏览次数:次   作者:佚名

其中jdbc是一个协议,mysql是jdbc的子协议。

②ip+端口

因为是本地主机,数据库就在我自己的电脑上。

所以ip为127.0.0.1,其中用localhost也就是本地主机,效果是一样的。

③liuxiaoai

这是我MySQL里创建的一个数据库名。

以上3点组成的就是url,也就是知道了我想访问的数据库在哪儿了。

而想要访问数据库,还要知道用户名和密码,这也就是另外两个参数。

二、statement和resultSet详解

statement就相当于是连接Java程序和数据库的一个通道,通过它来传输sql语句,也就是IO流?

java实现云盘文件上传_java上传文件到数据库_java文件上传优化

sql语句可以用来增删改查。

①executeQuery()方法

java实现云盘文件上传_java上传文件到数据库_java文件上传优化

当sql为查询语句时,就用该方法。

其返回值是一个结果集,我们可以遍历这个结果集得到我们想要的数据。

②executeUpdate()方法

当sql为增删改语句时,就用该方法。

其返回值是updateCount,也就是sql语句执行影响了几行数据:

④execute()方法

这个方法是用来判断sql语句的。

其返回值是一个boolean值:

但是该方法不怎么实用,原因很简单:

其返回值是不确定的,所以很难将该方法封装

resultSet结果集

java文件上传优化_java实现云盘文件上传_java上传文件到数据库

其本质上其实就是集合中的迭代器:

java文件上传优化_java实现云盘文件上传_java上传文件到数据库

①next()方法

用于判断下一行是否有数据

②getString()方法

但是一般都是填列名,这样阅读性强,直接就知道获取的是什么数据。

如果填数字,要对数据表了如指掌,不然时常会搞不清楚数字具体对应的是哪一列。

三、JDBC的封装

将jdbc封装到一个工具类JdbcUtil中,我们使用时直接可以用工具类获取连接,会方便很多。

jdbc中牵扯到如下变量

封装分析一:

这些变量并不是一成不变的,数据库不一样Driver就不一样,url、user以及password更是各不相同。

那根据代码的可拓展性原则:出现变化,要保证修改的代码越少越好。

那该怎么办是好?

编写一个配置文件即可。

java实现云盘文件上传_java上传文件到数据库_java文件上传优化

java文件上传优化_java实现云盘文件上传_java上传文件到数据库

①jdbc.properties文件

将这些变量抽取出来,放入配置文件中。

这样做有什么好处?

以后换数据库软件了,换数据库名了,数据库账号密码变了,都只需要修改配置文件就好了,代码都不用动。

加载配置文件

在Java里有一个类叫Properties。

其有一个load()方法,可以用来加载对应的配置文件。

参数为一个输入流,将我们配置文件所在的路径填写进去即可。我这边的路径是在项目src文件夹下。

③获取配置文件信息

其中有一个getProperty()方法。

看方法名就知道该方法可以获取配置文件中对应的属性。

封装分析二:

java实现云盘文件上传_java文件上传优化_java上传文件到数据库

这些配置文件需要获取几次?

只需要一次就够了的。

同样的道理,驱动注册也只需要一次就够了。

在一个类中,什么东西只随着类的加载而加载一次?

答案是:静态代码块。

所以封装如下:

java上传文件到数据库_java实现云盘文件上传_java文件上传优化

static{"静态代码块"};即为静态代码块。

其中异常要try……catch,在静态代码块中也没法throws。

封装分析三:

既然获取连接需要的三个参数都被封装起来了,那么该方法也可以封装在工具类JdbcUtil中;

并且每次我们都需要释放资源,也就是关流java上传文件到数据库,同样也可以将其封装起来。

代码如下:

java上传文件到数据库_java实现云盘文件上传_java文件上传优化

java实现云盘文件上传_java上传文件到数据库_java文件上传优化

①获取连接方法

工具类中的方法一般都是静态方法。

这里将getConnection()方法封装成一个静态方法,实际使用时直接用JdbcUtil类调用即可。

②释放资源

也就是close方法关流,其中的三个参数都为Java中对应的参数。

都要进行try…catch处理异常,前面为了方便直接抛异常了(为了省事、不然代码太多也不好截图)。

但实际上大多数时候都是需要try…catch处理的。

四、JDBC测试

java实现云盘文件上传_java文件上传优化_java上传文件到数据库

先直接用工具类JdbcUtil调用封装的方法即可获取连接。

当JdbcUtil类加载的时候,静态代码块就会执行,同时配置文件信息会被获取java上传文件到数据库,驱动也会注册。

然后再就是具体的执行语句以及处理结果,就不再赘述。

最后释放资源直接调用封装的release方法即可。