当前位置:Gxlcms > 数据库问题 > MySQL_JDBC

MySQL_JDBC

时间:2021-07-01 10:21:17 帮助过:20人阅读

jdbc介绍

技术图片

 

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

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

2:常用类说明

2.1DriverManager

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

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

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

需导入驱动包

2.2JDBC URL说明

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

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

jdbc:mysql://127.0.0.1:3306/dbname

这里 jdbc: 是JDBC连接协议

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

localhost:3306 主机和端口,

dbname 数据库名

 技术图片

2.3Connection 连接

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

获得SQL的操作对象

Statement  conn.createStatement()

PreparedStatement  conn.prepareStatement(sql)

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

2.4Statement   

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

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

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

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

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

2.5ResultSet

      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:抽取工具类

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

 技术图片

 

 技术图片

 

MySQL_JDBC

标签:lazy   移动   获取值   必须   nbsp   java   访问   需要   man   

人气教程排行