jdbc基础 (一) MySQL的简单使用

前段时间学习了jdbc,正好利用这几篇文章总结一下。

JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。

而程序首先要做的就是加载数据库驱动,这里我使用的是mysql:

1 String driverName=new String("com.mysql.jdbc.Driver");
2 Class.forName(driverName);

然后再获取数据库连接对象,参数为数据库的url,用户名以及密码。这里我使用的数据库名为jdbc,用户名为root,密码为123456:

1 String url=new String("jdbc:mysql://localhost:3306/jdbc");
2 String user=new String("root");
3 String password=new String("123456");
4 Connection coon=DriverManager.getConnection(url, user, password);

因为要对数据库进行操作,所以要获取Statement对象:

1 Statement statement = connection.createStatement();

statement对象内封装的execute(String sql)方法以及executeQuery(String sql)方法和executeUpdate(String sql)方法可以用来执行sql语句,以此来实现对数据库的操作。

 1   String sql = null;
 2   ResultSet resultSe = null;
 3 
 4   //创建Student表
 5   sql="create table Student (id char(9) primary key,name char(9) unique)";
 6   statement.execute(sql);        
 7          
 8   //添加元组
 9   sql = "insert into Student (id,name) values ('0001','zhangsan')";
10   statement.executeUpdate(sql);
11          
12   //查询Student表
13   sql="select * from Student";
14   resultSet = statement.executeQuery(sql);
15             
16   while(resultSet.next()){
17       System.out.println("name:"+resultSet.getString("name"));
18       System.out.println("id:"+resultSet.getString("id"));
19   }
20  
21   //删除元组
22   sql="delete from Student where id='0001'";
23   statement.executeUpdate(sql);
24  
25   //删除表Student
26   sql="drop table Teacher";
27   statement.execute(sql);    

操作完数据库之后要关闭资源,顺序依次为resultSet,statement,connection:

 1 try {
 2     if (resultSet != null)
 3         resultSet.close();
 4  } catch (SQLException e) {
 5        e.printStackTrace();
 6  } finally {
 7        resultSet = null;
 8        try {
 9            if (statement != null)
10              statement.close();
11        } catch (SQLException e) {
12              e.printStackTrace();
13        } finally {
14              statement = null;
15              try {
16                  if (connection != null)
17                     connection.close();
18              } catch (SQLException e) {
19                     e.printStackTrace();
20              } finally {
21                     connection = null;
22              }
23         }
24  }

close()会抛出异常,需要try/catch语句块。为保证资源的释放,需要将close()方法的调用放在finally语句块里,释放资源前判断对象是否为null。至此,利用jdbc连接数据库进行简单的操作算是完成了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java开发

读取数据库时报java.sql.SQLException: 流已被关闭

使用Connection、Statement/PreparedStatement、ResultSet来取数据库信息:

14720
来自专栏Java面试笔试题

JDBC能否处理Blob和Clob?

Blob是指二进制大对象(Binary Large Object),而Clob是指大字符对象(Character Large Objec),因此其中Blob是为...

30550
来自专栏九彩拼盘的叨叨叨

async/await 写法示例

async/await 让写异步代码感觉像写同步代码。async/await 并不是 ES6 的一部分,但可以通过使用 Babel 来使用它。

9220
来自专栏*坤的Blog

自写文件小工具类

18930
来自专栏Java后端生活

JDBC(二)通过Statement执行更新操作

数据库连接被用于向数据库服务器发送命令和 SQL 语句,在连接建立后,需要对数据库进行访问,执行 sql 语句

12150
来自专栏Java编程技术

Mysql中使用流式查询避免数据量过大导致OOM

java 中MySQL JDBC 封装了流式查询操作,通过设置几个参数,就可以避免一次返回数据过大导致 OOM。

18420
来自专栏用户2442861的专栏

初学Redis(2)——用Redis作为Mysql数据库的缓存

http://blog.csdn.net/qtyl1988/article/details/39519951

20620
来自专栏xiaoheike

Hibernate save, saveOrUpdate, persist, merge, update 区别

hibernate save()方法能够保存实体到数据库,正如方法名称save这个单词所表明的意思。我们能够在事务之外调用这个方法,这也是我不喜欢使用这个方法保...

17530
来自专栏知识分享

JDBC基本知识

JDBC的作用 JDBC为java访问数据库提供通用的API,可以为多种关系数据库提供统一访问。因为SQL是关系式数据库管理系统的标准语言,只要我们遵循SQL规...

370110
来自专栏程序员叨叨叨

【PHP】Propel的使用,看这一篇就够了

本文为学习Propel框架使用的笔记,默认已经安装好Propel环境,若有读者不知如何安装Propel,可参考《听说你PHP配置Composer遇到了一些困境》...

51250

扫码关注云+社区

领取腾讯云代金券