天天看点

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

【正文】                                                                                                                                             

一、jdbc的引入                                                                                                                    

1、jdbc的概念

jdbc:java database connection,表示数据库连接(任何数据库都支持jdbc的连接),是一个独立于特定数据库管理系统、通用的sql数据库存取和操作的公共接口。它是java中专门提供的一组用于操作数据库的标准,所有的数据库生产商如果要是想为java提供支持,则必须支持此标准。既然是标准的话,所以说jdbc实际上是一套访问数据库的接口。

2、常用操作类/接口

connection接口、statement接口、preapredstatement接口、resultset接口、callablestatement接口、drivermanager类。

3、jdbc应用步骤

1.注册加载一个驱动

2.创建数据库连接(connection)

3.构造sql语句

4.创建statement,发送sql语句

5.执行sql语句

6.处理sql结果

7.关闭statement和connection 

二、驱动程序下载:                                                                                                                 

根据上一段的定义,我们明白了,java定义jdbc接口,数据库来实现这个接口。不同的厂商对jdbc有不同的实现,所以厂商要提供自己数据库的驱动,让应用程序来访问。而应用程序则只通过自己的一套jdbc接口来访问就行了,然后驱动程序来实现这个接口,从而让驱动来调用数据库。所以我们终于明白了这句话:驱动程序由数据库提供商提供下载。

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

上图中,选择“connector/j”的版本进行下载,弹出下一个界面,让我们选择平台来下载:如果选择windows平台,界面如下:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

如果选择跨平台,界面会变成下面的这个样子:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

上图中,第一个版本是linux平台的压缩包,第二个是windows平台中的压缩包,那我们选择上图中的红框部分进行下载:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

上图中,不用注册,直接下载。下载完成后,解压:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

上图中,红框部分的mysql-connector-java-5.1.33-bin.jar就是我们所需要的包。

三、jdbc实现简单增删改操作                                                                                                      

1、jdbc操作前的准备工作

2、实现插入操作

3、实现更新操作

4、实现删除操作

5、代码优化(写成工具类):将字段换成变量

1、jdbc操作前的准备工作:

首先创建数据库表:person。字段:id,name,age,description。建表的命令如下:

创建的空表如下:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

紧接着导入数据库驱动包:

打开eclipse,新建java工程jdbc01,然后在根目录下新建一个文件夹libs:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

然后复制之前下载的驱动包mysql-connector-java-5.1.33-bin.jar,粘贴到libs目录下,然后到了最关键的一步:将该java包添加到工程的build path中,操作如下图:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

如果生效之后,就会多出一个文件出来:(下图中的箭头处)

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

2、实现插入操作:

步骤如下:

1、加载数据库驱动程序:class.forname(驱动程序类);

2、通过用户名密码和连接地址url获取数据库连接对象:connection connnction = drivermanager.getconnection(连接地址url,用户名,密码)。每个数据库都有指定的url,同一格式如下:jdbc:mysql://ip地址:端口号/数据库名字。

3、构造插入的sql语句。注:在java程序当中,sql语句是以字符串的形式使用,程序不认识此sql语句,传到数据库后让数据库来识别。

4、创建statement实例:statement stmt = connction.createstatement()。statement是用来发送sql语句的载体,因为java代码无法解析,要交给数据库来解析。

5、执行插入sql语句:stmt.executeupdate(sql)。这里的执行是发送sql语句。返回值为int类型,表示有多少条记录被更新了。

6、关闭连接:stmt.close()、 connnction.close()。关闭是为了释放资源。

注:这个步骤是通俗的用法,可以当做模板来用。我们来举个例子。

在工程文件中新建一个java类,作为主程序:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

jdbctest.java完整版代码如下:(注释很详细)

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

注意程序在导包时,导入的是下面的这些包:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

代码解释:

15行的url代表连接接数据库的地址。命名格式统一如下:url = "jdbc:mysql://ip地址:端口号/数据库名字"。如果是本机的话,ip地址可以写成localhost。

17行、19行:指的是数据库的用户名和密码。如果输入错误,会报错如下:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

21行:我们所加载的驱动程序类的名字是:com.mysql.jdbc.driver,其实它就指的就是jar包中的com.mysql/jdbc/driver.class文件。

程序运行成功后,后台会输出:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

我们再去数据库看一下,发现数据真的填充进去了:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

终于实现了java代码与数据库之间的联系,任务完成。

3、实现更新操作:

和上面的插入操作相比,只是sql语句不一样而已(因为插入数据和更新数据其实都是更新嘛)

更新操作的方法如下:(代码解释请参照上面的代码就懂了)

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

核心代码是第6行,我们将之前的22岁改为24岁。程序运行后,数据库里也会对应的进行更新。

同样的道理,和上面的插入操作相比,只是sql语句不一样而已(因为插入数据、更新数据、删除数据其实都是更新嘛)

删除操作的方法如下:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

核心代码是第06行和第08行。

我们上面的增删该的操作都是直接在sql里面放入具体的参数,但是有可能这种参数是外面传进来的,所以一种更方便的写法是把参数换成变量,我们以插入操作为例:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

核心代码是第10行,这里的sql语句是以变量的形式出现的,符合工具类的特性,注意它拼接的格式哦~~~来把它拆开再仔细瞧一瞧:

string sql = "insert into person(name,age,description)values(' "+name+" ',      "+age+",    '  "+description+"  ')";

运行之后,效果如下:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

其实这种拼接的方式很不好:既麻烦又不安全。数据库的查询操作以及详细解释将在下篇文章中学习到,加油!!!

哦,对了,最后再贴一下上方所有代码的完整版:

MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作