zoukankan      html  css  js  c++  java
  • Java使用JDBC连接MySQL数据库

    1、引用

        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

    2、下载

        连接MySQL数据库要先下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downloads/connector/j/ ,下载后是个压缩文件,我们只需解压出里面的jar库文件,然后导入到项目工程中。这是我用的Connector/J 版本:http://pan.baidu.com/s/1mildht2

        MySQL数据库连接的用户名是root,密码是123456,端口是3306,里面有一个自己新建的数据库名为student,student里面有一个新建的表为stuinfo,MySQL数据库安装包下载:http://pan.baidu.com/s/1sleNubV 

    MySQL的相关语句:

    /* 以下仅是一些基本的SQL语句 */
    create database student;      /* 创建一个数据库,数据库名为student */
    show databases;               /* 查看数据库 */
    use student;                  /* 使用名为student的数据库 */
    create table stuinfo(id char(12),name char(20),age int);    /* 创建一个表,表名为stuinfo */
    show tables;                  /* 查看表 */
    insert into stuinfo values('201307020010','zhangsan',21);   /* 插入一条记录到stuinfo表中 */
    select * from stuinfo;        /* 查询表中所有的记录 */
    select id,name from stuinfo;  /* 查询表中的指定字段 */
    select * from stuinfo where age=21;           /* 带条件查询 */
    
    delete from stuinfo where id='201307020010';  /* 带条件删除表中指定记录 */
    drop table stuinfo;           /* 删除一个表 */

    更多MySQL语句可查看:常用的MySQL数据库操作语句大全 

    3、在Eclipse中导入Connector/J库文件的步骤:

    项目工程:新建一个Java项目,添加一个TestDB类,将下面第4步源代码拷贝进去即可

    (1)在项目工程中新建一个名为"lib"的文件夹,然后将"mysql-connector-java.jar"文件拷贝到该文件夹内。

    (2)右击项目,点击 Properties / Java Build Path / Libraries / Add JARS / 选择lib文件夹下的mysql-connector-java.jar / OK 

    4、编译运行:

    注意在编译运行时应先在项目中导入Connector/J库文件,启动MySQL数据库服务,确保用户名和密码正确,且数据库和表必须已创建,否则会抛出异常。

    源代码:

     1 import java.sql.Connection;
     2 import java.sql.DriverManager;
     3 import java.sql.ResultSet;
     4 import java.sql.SQLException;
     5 import java.sql.Statement;
     6 
     7 public class TestDB {
     8 
     9     public static void main(String[] args) {
    10         Connection conn = null;
    11         Statement stmt = null;
    12         ResultSet rs = null;
    13         
    14         // MySQL的JDBC连接语句
    15         // URL编写格式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
    16         String url = "jdbc:mysql://localhost:3306/student?user=root&password=123456";
    17         
    18         // 数据库执行的语句
    19         String sql = "insert into stuinfo values('201307020010','zhangsan',21);";//插入一条记录
    20         //String sql = "create table stuinfo(id char(12),name char(20),age int);";//创建一个表
    21         
    22         // 查询语句
    23         String cmd = "select * from stuinfo;";
    24         try {
    25             Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
    26             conn = DriverManager.getConnection(url); // 获取数据库连接
    27             stmt = conn.createStatement(); // 创建执行环境
    28             stmt.execute(sql); // 执行SQL语句
    29             // 读取数据
    30             rs = stmt.executeQuery(cmd); // 执行查询语句,返回结果数据集
    31             rs.last(); // 将光标移到结果数据集的最后一行,用来下面查询共有多少行记录
    32             System.out.println("共有" + rs.getRow() + "行记录:");
    33             rs.beforeFirst(); // 将光标移到结果数据集的开头
    34             while (rs.next()) { // 循环读取结果数据集中的所有记录
    35                 System.out.println(rs.getRow() + "、 学号:" + rs.getString("id")
    36                         + "	姓名:" + rs.getString("name") + "	年龄:"
    37                         + rs.getInt("age"));
    38             }
    39         } catch (ClassNotFoundException e) {
    40             System.out.println("加载驱动异常");
    41             e.printStackTrace();
    42         } catch (SQLException e) {
    43             System.out.println("数据库异常");
    44             e.printStackTrace();
    45         } finally {
    46             try {
    47                 if (rs != null)
    48                     rs.close(); // 关闭结果数据集
    49                 if (stmt != null)
    50                     stmt.close(); // 关闭执行环境
    51                 if (conn != null)
    52                     conn.close(); // 关闭数据库连接
    53             } catch (SQLException e) {
    54                 e.printStackTrace();
    55             }
    56         }
    57     }
    58 
    59 }

    运行结果:

    5、注意事项

    (1) 在编译运行源代码时要先导入Connector/J的库文件,否则会出错。

    (2) 运行时要确保MySQL数据库服务已启动,且源代码的用户名和密码、端口、数据库名、表名要与数据库的一致,否则将抛出异常。

    (3) 如果代码中有不懂的地方可以参考一下:Java开发中JDBC连接数据库代码和步骤总结.

  • 相关阅读:
    整数反转
    两数之和
    设计模式-备忘录模式
    设计模式-迭代器模式
    设计模式-中介者模式
    设计模式-观察者模式
    C# OpenFileDialog和SaveFileDialog的常见用法
    SQL数据库表结构的修改(sql2005)
    C# 时间格式处理
    C# 集合类(四)
  • 原文地址:https://www.cnblogs.com/wuqianling/p/5380234.html
Copyright © 2011-2022 走看看