MySQL_JDBC

发布时间:2020-08-16 22:00:04发布者:Mr.Zhang阅读(528)

1:jdbc介绍

 

如果没有JDBC,Java程序员需要面向各个数据库驱动接口编程,开发复杂 ;

sun 公司提供一套统一JDBC接口规范,Java程序只需要使用JDBC就可以操作任何数据库,JDBC实现类由各个数据库厂商提供.

2:常用类说明

2.1:DriverManager

操作数据库第一步是需要注册驱动,

DriverManager类的目的: 注册驱动和获取连接的

Class.forName("com.mysql.jdbc.Driver");  - 代码是固定的

需导入驱动包

2.2:JDBC URL说明

mysql为例: 需要获取连接数据库的相关协议:

jdbc:mysql://localhost:3306/dbname- 操作数据库的名字

jdbc:mysql://127.0.0.1:3306/dbname

这里 jdbc: 是JDBC连接协议

这里 mysql:// 是mysql数据库连接协议,JDBC子协议

localhost:3306 主机和端口,

dbname 数据库名

 

2.3:Connection 连接

通过驱动管理器(DriverManager)可以获取链接,操作数据库必须要先获取链接

获得SQL的操作对象

Statement  conn.createStatement()

PreparedStatement  conn.prepareStatement(sql)

该对象可以将SQL发送给数据库进行执行

2.4:Statement   

用于将SQL 发送给数据库 获得操作结果

executeUpdate 用于向数据库发送 insert update delete 语句,返回int 类型参数,代表影响记录行数

executeQuery  用于向数据库发送 select 语句,返回ResultSet 结果集对象

execute 用于数据库发送任何SQL语句

返回boolean ,SQL执行结果是ResultSet 返回true,否则 false

2.5:ResultSet

      ResultSet 包含符合 SQL 语句中条件的所有行,并且它通过一套 get 方法(这些 get 方法可以访问当前行中的不同列)提供了对这些行中数据的访问。ResultSet.next 方法用于移动到 ResultSet 中的下一行,使下一行成为当前行。

      结果集一般是一个表,其中有查询所返回的列标题及相应的值。

行:

ResultSet 维护指向其当前数据行的光标。每调用一次 next 方法,光标向下移动一行。

最初它位于第一行之前,因此第一次调用 next 将把光标置于第一行上,使它成为当前行。随着每次调用 next 导致光标向下移动一行,按照从上至下的次序获取ResultSet行。

列:

方法 getXXX 提供了获取当前行中某列值的途径。在每一行内,可按任何次序获取列值。但为了保证可移植性,应该从左至右获取列值。也可以通过列名来获取值。

3:使用步骤

1:加载驱动

2:创建连接

3:连接数据库

4:编写sql

5:创建执行对象

6:执行sql语句

7:释放资源

 

动态新增数据

通过对象传递值

4:结果集处理

1: 数据结果集只有一条记录一般采用:

if(rs.next()){

  // 查到了数据

}else{

  // 没有查到数据

}

2: 如果是多条记录采用循环遍历

while(rs.next()){

   // 根据数据库内部 列类型,选择相应 getXXX方法

   int ---- getInt()

   varchar ---- getString()

   date ----- getDate()

}  

 

5:抽取工具类

每一个类中都需要写重复的代码,而且一旦数据库发生变化的话,就需要修改所有的代码,此时可以抽取为工具类

 





本文转自博客园,原文地址:https://www.cnblogs.com/sunlll666/p/13510688.html

自己做的一款记账小程序,请多多支持