数据库的操作是当前系统开发必不可少的开发部分之一,尤其是在现在的大数据时代,数据库尤为重要。但是你真的懂得Java与数据库是怎么连接的么?

先给大家一个数据库连接的简单实例:

  1. package com.java.dbtest;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. public class TestConnection implements DBTest{
  8. public void SelectUser(){
  9. //设定数据库驱动,数据库连接地址、端口、名称,用户名,密码
  10. String driverName="oracle.jdbc.driver.OracleDriver";
  11. String url="jdbc:oracle:thin:@localhost:1521:BJPOWERNODE";  //test为数据库名称,1521为连接数据库的默认端口
  12. String user="system";   //aa为用户名
  13. String password="bjpowernode";  //123为密码
  14. PreparedStatement pstmt = null;
  15. ResultSet rs = null;
  16. //数据库连接对象
  17. Connection conn = null;
  18. try {
  19. //反射Oracle数据库驱动程序类
  20. Class.forName(driverName);
  21. //获取数据库连接
  22. conn = DriverManager.getConnection(url, user, password);
  23. //输出数据库连接
  24. System.out.println(conn);
  25. //定制sql命令
  26. String sql = "select * from t_user where user_id = ?";
  27. //创建该连接下的PreparedStatement对象
  28. pstmt = conn.prepareStatement(sql);
  29. //传递第一个参数值 root,代替第一个问号
  30. pstmt.setString(1, "root");
  31. //执行查询语句,将数据保存到ResultSet对象中
  32. rs = pstmt.executeQuery();
  33. //将指针移到下一行,判断rs中是否有数据
  34. if(rs.next()){
  35. //输出查询结果
  36. System.out.println("查询到名为【" + rs.getString("user_id") + "】的信息,其密码为:" + rs.getString("password"));
  37. }else{
  38. //输出查询结果
  39. System.out.println("未查询到用户名为【" + rs.getString("user_id") + "】的信息");
  40. }
  41. } catch (ClassNotFoundException e) {
  42. e.printStackTrace();
  43. } catch (SQLException e) {
  44. e.printStackTrace();
  45. }finally{
  46. try{
  47. if(rs != null){
  48. rs.close();
  49. }
  50. if(pstmt != null){
  51. pstmt.close();
  52. }
  53. if(conn != null){
  54. conn.close();
  55. }
  56. } catch (SQLException e) {
  57. e.printStackTrace();
  58. }
  59. }
  60. }
  61. public static void main(String[] args){
  62. new TestConnection().SelectUser();
  63. }
  64. }

在main函数中,右键,选择“Run as”=>"Java Application",就会运行该程序段,在Console中,可以看到运行结果,如果给出一串类似于“Oracle.jdbc.driver.T4CConnection@7c242f04”这样的字符串,就说明你连接成功了。运行结果如图:

下面我们来简单解剖一下这段程序。

这段程序是Java连接oracle数据库的实例,采用jdbc来完成连接数据库的操作,所以需要引入ojdbc14.jar。在操作前,首先得先得到数据库驱动类的对象,通过驱动对象拿到数据库连接对象。其中Class.forName(driverName)就是应用类反射机制,加载驱动程序的。DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。一般只需要在类中直接使用方法DriverManager.getConnection,即可建立与数据库的连接

PreparedStatement 接口继承Statement,是用来执行数据库操作的类。PreparedStatement在多次调用时的效率要比Statement高很多,所以很多人都主张以PreparedStatement代替Statement。在接下来的博文中,会详细介绍一下这点《深入 理解 Statement 和 PreparedStatement》。PreparedStatement可以看做.net中的Command的类。

ResultSet 接口在很多语言中都出现过,它主要来存放查询到的数据。每次查询到数据后,Java语言中通常使用next()方法来读取数据。

最新文章

  1. Oracle数据库基础知识
  2. 关于MVC EF架构及Repository模式的一点心得
  3. 0.[WP Developer体验Andriod开发]之从零安装配置Android Studio并编写第一个Android App
  4. C#调用百度静态地图
  5. QQ中打开链接不是默认浏览器
  6. 如何取消win10电脑自动更新
  7. 大家一起写mvc(三)_结束
  8. net中前台javascript与后台c#函数相互调用
  9. How many - HDU 2609 (trie+最小表示)
  10. composer 说明<转>
  11. SQL Server带游标的SQL
  12. Html页面操作json串
  13. iOS-OC对象模型
  14. 入门PHP你需要了解些什么?
  15. 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能
  16. unity - ios打包真机测试及模拟器测试
  17. winedt102安装
  18. XamarinSQLite教程添加测试数据
  19. webstrom IDE 激活
  20. BZOJ1069 SCOI2007最大土地面积(凸包+旋转卡壳)

热门文章

  1. 解读python手册的例子a, b = b, a+b
  2. Python3中IO文件操作的常见用法
  3. 怎样安装TortoiseGit
  4. 关于scrum敏捷测试
  5. Jmeter使用HTTP代理服务器录制脚本
  6. 【PMP考试专栏】01、五大过程组和十大知识领域
  7. win2003系统网络安装——基于linux+pxe+dhcp+tftp+samba+ris
  8. Material Safety Data Sheet,MSDS - 化学品安全说明书
  9. ES6的新特性(16)——Generator 函数的语法
  10. Scrum立会报告+燃尽图(十一月二十一日总第二十九次):β阶段第二周分配任务