JDBC使用基础

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

下面就来说下如何通过JDBC连接数据库:

首先,需要导入连接数据库对应的jar包,导入不再赘述,给个链接https://jingyan.baidu.com/article/2fb0ba4094f51900f3ec5f6a.html

然后,分析一下,jdbc连接数据库的几个基础步骤:

1.注册驱动(现在的jdk已经自动帮我们做好了这一步,所以知道即可,下面的代码中会有怎样自己注册)

2.建立连接(能够获取到一个Connection对象,该对象是一个封装了TCP长连接的数据库长连接对象

3.创建Statement对象(Statement对象是与数据库打交道的必须对象,它是一个封装管理SQL语句的java对象)

4.执行查询,得到结果集(结果集对象ResultSet是一个封装了数据对象无序集合对象)

5.遍历数据(把数据从结果集中用while循环遍历出来)

6.释放资源

最后,就是代码部分了。

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class JDBCTest02 {
  public static void main(String[] args) {
    Connection conn = null;
    Statement st = null;
    ResultSet rs = null;
    try {
      //注册驱动并建立连接
      conn = JDBCUtils.getConn();
      //创建Statement对象
      st = conn.createStatement();
      //执行查询
      String sql = "select * from tb_user where username = ‘xx‘";
      rs = st.executeQuery(sql);
      //遍历结果集
      while(rs.next()){
      String user = rs.getString("username");
      String pwd = rs.getString("password");
      System.out.println("用户名---" + user + ",密码---" + pwd);
      }
    } catch (Exception e) {
      e.printStackTrace();
    }finally{

      //释放资源
      JDBCUtils.releaseResource(rs, st, conn);
      }  

    }
}

上面的代码中用到了自己写的JDBC的工具类:

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtils {
  static String className = “com.mysql.jdbc.Driver”;
  static String url = "jdbc:mysql://localhost/test";
  static String username = "root";
  static String password = "root";

  /**
  * 获取连接对象
  * @return
  */
  public static Connection getConn(){
    Connection conn = null;
    try {
    //注册驱动
    //    Class.forName(className);   jdk已经帮我们完成,注释掉
    //建立连接(传入url,数据库用户名和密码或者可以直接传进去一个长的包含三者的字符串:url?username?password 形式)
    conn = DriverManager.getConnection(url,username,password);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return conn;
  }

  /**
  * 释放资源
  * @param rs
  * @param st
  * @param conn
  */
  public static void releaseResource(ResultSet rs,Statement st,Connection conn){
    releaseRs(rs);
    releaseSt(st);
    releaseConn(conn);
  }

  private static void releaseRs(ResultSet rs){
    try {
      if(rs != null){
      rs.close();
      System.out.println("ResultSet释放完毕!");
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }finally{
      rs = null;
    }
  }
  private static void releaseSt(Statement st){
    try {
      if(st != null){
      st.close();
      System.out.println("Statement释放完毕!");
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }finally{
      st = null;
    }
  }
  private static void releaseConn(Connection conn){
    try {
      if(conn != null){
      conn.close();
      System.out.println("Connection释放完毕!");
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }finally{
      conn = null;
    }
  }
}

原文地址:https://www.cnblogs.com/singleprogramdog/p/11104027.html

时间: 2024-12-21 02:20:53

JDBC使用基础的相关文章

jdbc从基础到优化

package com.xk.demotest.tools; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class DaoDB

jdbc链接基础

1 jdbc 链接两种方式,通过jdbc链接mysql数据库,url:jdbc:mysql://ip:端口[/database name] 通过什么驱动器,链接什么数据库,数据库的ip,连接端口,可以在url中加上连接的数据库名. 1)使用驱动器获取链接 Driver driver = new com.mysql.jdbc.Driver(); props.setProperty("user", "root"); props.setProperty("pas

Java JDBC的基础知识(四)

之前学习了如何创建一个数据库工具类,如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { // 私有化构造方法 private DBUtil() { } private static String url = "&q

JDBC技术基础整理

mysql 启动和关闭命令:启动:net start mysql 关闭:net stop mysqlmysql修改密码的命令:use mysql;update user set password=password('12345') where user='root'; 登录的命令:mysql -u root -p 新建登录用户mysql> insert into mysql.user(Host,User<Password)values("localhost","t

JDBC的基础原理

调用Class.forName("com.mysql.jdbc.Driver");   加载mysql的驱动类进内存,那么就会在DriverManager中注册自己,注册的意思简单来说就是DriverManager中保持一个Driver引用指向了自己,但是具体的实现可能不同. 然后嗲用DriverManager.getConnection方法得到连接对象,  这里运用到了简单工厂方法,即根据传进去得参数来具体实例化哪个驱动类. 可能是mysql的驱动类, 也可能是Oracle的驱动类,

JAVA中JDBC的基础使用

JDBC允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. JDBC的执行流程如下: 连接数据源,如:数据库: 为数据库传递查询和更新指令(sql) 处理数据库响应并返回的结果(resultset) 一般原生JDBC会将数据库连接封装为一个JdbcUtil,示例如下: 1 package com.spring.utility; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 6 public cl

java基础之JDBC二:基础应用

JDBC的基础应用CURD: 增删改 public void noQuery() { Connection conn = null; Statement stat = null; try { //注册驱动 Class.forName("com.mysql.jdbc.Driver"); //获取连接对象 conn = DriverManager.getConnection("jdbc:mysql:///tempDb", "root", "

hibernate原理简单实现对比JDBC

hibernate作为orm模型的实现的一种,是java的对象模型和关系模型之间的桥梁,主要通过jdbc 的封装来达到操作数据库的目的,提供了一套相对全面的自动化的api.简单模拟一下hibernate的 运行原理,其实主要还是jdbc的使用,还是直接看看这个小例子 package com.tgb.cfl.hibernate; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.DriverMa

JDBC、Hibernate、MyBatis区别

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibern