本文详细介绍了如何用java自带的JDBC操作数据库,并对每个步骤进行了说明。本文不会涉及数据库创建、JDK安装等基础知识。这些知识请自便。
首先要了解java对数据操作的原理,如下图所示:
从上图中,我们可以知道我们的应用程序通过JDBC操作数据库。然而,JDBC只是一套规范。它定义了一系列通用操作,并且它会有不同的实现。这个实现被称为JDBC驱动程序。不同的数据库有不同的驱动,比如MySQL有MySQL驱动,oracle有oracle驱动。正是这些驱动程序帮助我们真正操作数据库。本文使用MySQL驱动:MySQL-connector-Java-5 . 1 . 40 . jar。
接下来,让我们看看如何操作JDBC。我们可以遵循以下5个步骤:
1.获取数据库连接。
代码中的url是jdbc数据库连接地址,user是用户名,password是密码。这些都是开发商自己定的。Driver是驱动程序的类名,对于mysql是com.mysql.jdbc.Driver。静态语句意味着在初始化类时注册驱动程序。这一步是必要的。如果驱动程序未注册,则无法使用数据库连接。接下来,在getConnection方法中,我们使用DriverManager获取数据库连接并保存在全局变量Connection中,这是为了重用数据库连接,防止频繁打开和关闭。
2.编译sql语句
首先,我们编写了一个sql语句:insertintouser(id,name)values(?)。这意味着将id和名称插入到用户表中,其中两个问号表示占位符。然后,通过PreparedStatement编译sql,然后使用setXXX方法将两个包含问号的地方替换为真实数据。根据代码中的实现,sql语句最终将变成:insert into user (ID,name) values (1,' test ')。
3.执行sql语句。在上图中,我们使用PreparedStatement编译了sql,然后我们可以使用它的execute方法来执行它。此时,JDBC将使用底层的Mysql驱动程序向远程数据库发送真正的sql命令,从而完成数据库插入。
4.处理返回结果处理返回结果一般用在查询语句中,如下图所示:
语句的执行使用executeQuery而不是execute。它将返回一个ResultSet,通过它我们可以得到返回值。ResultSet逐行提取数据。它有下一个方法来确定是否有任何数据留下。如果有,就走下一条线。对于一行数据,我们需要知道它的列名,然后使用getXXX获取列值。
5.关闭连接使用关闭连接方法关闭连接。但是,由于建立数据库连接的成本很高,我们一般不会关闭它们,而是重用一个或多个数据库连接来提高系统性能。