栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习JDBC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习JDBC

学习JDBC

文章目录
    • 学习JDBC
  • 一、JDBC的概念
  • 二、JDBC处理SQL语句的过程(建表,查表)


一、JDBC的概念

JDBC(Java DataBase Connectivity)是一种数据库连接技术,
能实现Java程序对各种数据库的访问。由一组使用Java语言编写的类和接口(JDBC API)组成,他们位于java.sql以及javax.sql中。

作用:

  1. 与数据库建立联系.
  2. 将编写好的SQL语句发送至数据库执行
  3. 对数据库返回的结果进行操作

JDBC API:

  • java.sql.*
  • javax.sql.*
二、JDBC处理SQL语句的过程(建表,查表)

使用JDBC 的步骤

  • 建立 与数据库的连接 (其中包括用
  • 创建 statement
  • 执行 Query
  • 处理 结果集(ResultSets)
  • 关闭 连接
  1. 建立与数据库的连接,这里使用DriverManager
    我们需要用到DBMS的 URL 进行连接

    一般mysql的URL : jdbc:mysql://localhost:3306/
    JDBC URL: jdbc:derby:testdb;create=true
    在用正确的用户密码,服务器等等参数连接数据库URL后,
    DriverManager 会返回一个Connection,
    我们编写一个方法来获取相关的Connection

//根据自己的数据库进行修改
public class JDBCTutorials {
    String userName = "root"; //用户名
    String password = "password";//用户密码
    String dbms = "mysql";//数据库管理系统名称
    String serverName = "localhost";//服务器名称
    String portNumber = "3306";//服务器接口
    String Atribute = "serverTimezone=UTC"
            + "&characterEncoding=utf-8"
            + "&useSSL=false";//时区与SLL连接方式禁用
    String dbName = "crashcourse";//需要访问的数据库名称,可以为空,但是得自己用USE语句
    //jdbc:mysql://localhost:3306/
    //jdbc:derby:testdb;create=true
    public Connection getConnection() throws SQLException{
        Connection conn = null;
        Properties connectionPros = new Properties();//新建一个Propeties容器
        connectionPros.put("user", userName);
        connectionPros.put("password", password);
        if(this.dbms.equals("mysql")) {
            conn = DriverManager.getConnection("jdbc:" + this.dbms + "://" + this.serverName +
                                                    ":" + this.portNumber + "/" + this.dbName + "?" + this.Atribute,connectionPros);//获取连接
 
            //conn.setCatalog(this.dbName);
        } else if (this.dbms.equals("derby")) {
            conn = DriverManager.getConnection("jdbc:" + this.dbms + ":"+ this.dbName + ":"
                                                + ";create=true",connectionPros);
        }
        System.out.println("Connection DBMS Successfully");
        return conn;
    }
}

更改相关的参数后,如果出现

  • “Connection DBMS Successfully”

就说明连接数据库管理系统成功了.返回的Connection就要用到了,
接下来我们需要将SQL语句运用起来.

  1. 创建Statement , 和执行Query, ResultSet使用(建表 查表)
    接下来我们需要使用的表格如下:
    建立这个表格的SQL语句:
在这里插入代码片

那么我们怎么使用上面的SQL语句?
首先,我们要知道之前编写的 getConnection 方法返回了一个connetion
我们现在要再执行SQL语句的方法中使用它, SQL语句也需要先储存到一个String中

public void createTable(Connection con) throws SQLException{
        String createSQL = "CREATE TABLE customersrn" + //存储SQL语句
                "(rn" + 
                "  cust_id      int       NOT NULL AUTO_INCREMENT,rn" + 
                "  cust_name    char(50)  NOT NULL ,rn" + 
                "  cust_address char(50)  NULL ,rn" + 
                "  cust_city    char(50)  NULL ,rn" + 
                "  cust_state   char(5)   NULL ,rn" + 
                "  cust_zip     char(10)  NULL ,rn" + 
                "  cust_country char(50)  NULL ,rn" + 
                "  cust_contact char(50)  NULL ,rn" + 
                "  cust_email   char(255) NULL ,rn" + 
                "  PRIMARY KEY (cust_id)rn" + 
                ") ENGINE=InnoDB;";
        try(Statement statement = con.createStatement()){//用connection 创建一个statement
            statement.executeUpdate(createSQL);//编译SQL语句
        }catch (Exception e) {
            System.out.println(e);
        }
    }

这样,建表的SQL语句就完成了.

3.使用

public static void main(String[] args) {
    JDBCTutorials jdbcTutorials = new JDBCTutorials();
    try (Connection connection = jdbcTutorials.getConnection()){
        jdbcTutorials.createTable(connection);
        jdbcTutorials.populateTable(connection);
        jdbcTutorials.viewTable(connection,"crashcourse");
    }catch (SQLException e) {
        System.out.println(e);
    }
}

执行结果:

4.关闭步骤

一般步骤是:

finally {
    if (stmt != null) { stmt.close(); }
}

的函数和方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/846136.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号