乐鱼电竞

  • 教育行业A股IPO第一股(股票代码 003032)

    全国咨询/投诉热线:400-618-4000

    JDBC程序具体实现步骤演示【Java技术文章】

    更新时间:2021年06月07日16时21分 来源:乐鱼电竞 浏览次数:

    乐鱼电竞-一样的教育,不一样的品质

    熟悉了JDBC的编程步骤后,接下来通过一个案例并依照上一小节所讲解的步骤来演示JDBC的使用。此案例会从tb_user表中读取数据,并将结果打印在控制台。

    需要说明的是,Java中的JDBC是用来连接数据库从而执行相关数据相关操作的,因此在使用JDBC时,一定要确保安装有数据库。常用的关系型数据库有MySQL和Oracle,本书就以连接MySQL数据库为例,使用JDBC执行相关操作。

    案例的具体实现步骤如下:

    (1) 搭建数据库环境

    在MySQL数据库中创建一个名称为jdbc的数据库,然后在该数据库中创建一个名称为tb_user的表,创建数据库和表的SQL语句如下:

    CREATE DATABASE jdbc;
    USE jdbc;
    CREATE TABLE tb_user(
            id INT PRIMARY KEY AUTO_INCREMENT,
            NAME VARCHAR(40),
            sex VARCHAR(2),    
            email VARCHAR(60),
            birthday DATE        
    );
    上述创建tb_user表时添加了id、NAME、sex、email和birthday共5个字段,其中NAME字段名称为大写形式,这是因为name字段在MySQL数据库中属于关键字,所以为了方便区分,这里将name字段名称全部用大写表示。

    数据库和表创建成功后,再向tb_user表中插入3条数据,插入的SQL语句如下所示:

    INSERT INTO tb_user(NAME,sex,email,birthday) 
    VALUES ('Jack','男','jack@126.com','1980-01-04'),
    ('Tom','男','tom@126.com','1981-02-14'),
    ('Lucy','女','lucy@126.com','1979-12-28');

    为了查看数据是否添加成功,使用SELECT语句查询tb_user表中的数据,执行结果如图1所示。

    实现JDBC程序

    图1 tb_user表中的数据

    注意:

    数据库和表创建成功后,如果使用的是命令行窗口向tb_user表中插入带有中文的数据,命令行窗口可能会报错,同时从MySQL数据库查询带有中文数据还可能会显示乱码,这是因为MySQL数据库默认使用的是UTF-8编码格式,而命令行窗口默认使用的是GBK编码格式,所以执行带有中文数据的插入语句会出现解析错误。为了在命令行窗口也能正常向MySQL数据库插入中文数据,以及查询中文数据,可以在执行插入语句和查询语句前,先在命令行窗口执行以下两条命令:

    set character_set_client=gbk;
    set character_set_results=gbk;

    执行完上述两条命令后,再次在命令行窗口执行插入和查询操作就不再出现乱码问题了。

    (1) 创建项目环境,导入数据库驱动

    在Eclipse中新建一个名称为chapter09的Java项目,使用鼠标右键单击项目名称,然后选择【New】→【Folder】,在弹出窗口中将该文件夹命名为lib并单击【Finish】按钮,此时项目根目录中就会出现一个名称为lib的文件夹。将下载好的MySQL数据库驱动文件Jar包(mysql-connector-java-5.1.46-bin.jar)复制到项目的lib目录中,并使用鼠标右击该JAR包,在弹出框中选择【Build Path】→【Add to Build Path】,此时Eclipse会将该JAR包发布到类路径下。加入驱动后的项目结构如图2所示。

    实现JDBC程序

    其中,MySQL驱动文件可以在其官网地址:http://dev.mysql.com/downloads/connector/j/页面中下载,单击页面Platform Independent (Architecture Independent), ZIP Archive后的“Download”按钮,并在新打开的窗口中的单击 “No thanks, just start my download”超链接后即可下载驱动压缩包(本书编写时的最新驱动版本文件是mysql-connector-java-5.1.46.zip),解压后即可得到相应JAR包。

    (1) 编写JDBC程序

    在项目chapter09的src目录下,新建一个名称为com.itheima.jdbc的包,并在该包中创建类Example01。在该类读取数据库中的tb_user表,并将结果输出到控制台,如文件1所示。

    文件1 Example01.java

         import java.sql.*;
         public class Example01 {
             public static void main(String[] args) throws SQLException  {
                 Connection conn =null;
                 Statement stmt =null;
                 ResultSet rs =null;
                 try {
                     // 1. 加载数据库驱动
                     Class.forName("com.mysql.jdbc.Driver");
                     // 2.通过DriverManager获取数据库连接
                     String url = "jdbc:mysql://localhost:3306/jdbc";
                     String username = "root";
                     String password = "root";
                     conn = DriverManager.getConnection(url,username, password);
                     // 3.通过Connection对象获取Statement对象
                     stmt = conn.createStatement();
                     // 4.使用Statement执行SQL语句
                     String sql = "select * from tb_user";
                     rs = stmt.executeQuery(sql);
                     // 5. 操作ResultSet结果集
                     System.out.println("id    |    name      |    sex  "
                                         + "   |    email        |    birthday ");
                     while (rs.next()) {
                         int id = rs.getInt("id");    // 通过列名获取指定字段的值
                         String name = rs.getString("name");
                         String sex = rs.getString("sex");
                         String email = rs.getString("email");
                         Date birthday = rs.getDate("birthday");
                         System.out.println(id + "    |    " + name + "    |    "
                                    + sex + "    |    " + email + "    |    " + birthday);
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
                 } finally {
                     // 6.关闭连接,释放资源
                     if(rs !=null){ rs.close(); }
                     if(stmt !=null){ stmt.close(); }
                     if(conn !=null){ conn.close(); }
                 }
             }
         }

    运行结果如图3所示。

    实现JDBC程序

    图3 运行结果

    文件1中,首先注册了MySQL数据库驱动,通过DriverManager获取一个Connection对象,然后使用Connection对象创建一个Statement对象,Statement对象通过executeQuery(String sql)方法执行了SQL语句,并返回结果集ResultSet,接下来,通过遍历ResultSet得到查询结果并输出,最后关闭连接,释放数据库资源。

    从图3中可以看到,tb_user表中的数据已被打印在了控制台。至此第一个JDBC程序实现成功。

    注意:

    在进行数据库连接时,连接MySQL数据库的username和password都要与创建MySQL数据库时设置的登录账户一致,否则登录失败。本章以及后续案例都默认MySQL数据库登录的username和password都为“root”。






    猜你喜欢:

    使用JDBC编程的步骤是怎样的?

    Docker的底层技术有几种?各有什么含义?

    Spring事务的实现方式和实现原理【java面试必会】

    什么是前后端分离?如何理解前后端分离?

    乐鱼电竞java开发培训

    0 分享到:
    和我们在线交谈!
      【网站地图】【sitemap】