zoukankan      html  css  js  c++  java
  • JDBC系列教材 (二)- 教程

    步骤1:为项目导入mysql-jdbc的jar包
    步骤2:初始化驱动
    步骤3:建立与数据库的连接
    步骤4:创建Statement
    步骤5:执行SQL语句
    步骤6:关闭连接
    步骤7:使用try-with-resource的方式自动关闭连接
    步骤8:练习-一次性 插入100条数据
    步骤9:答案-一次性 插入100条数据

    步骤 1 : 为项目导入mysql-jdbc的jar包

    访问MySQL数据库需要用到第三方的类,这些第三方的类,都被压缩在一个叫做Jar的文件里。
    为了代码能够使用第三方的类,需要为项目导入mysql的专用Jar包。
    该包mysql-connector-java-5.0.8-bin.jar可以在右边下载
    通常都会把项目用到的jar包统一放在项目的lib目录下,在本例就会放在
    E:projectj2selib 这个位置
    然后在eclipse中导入这个jar包

    导包步骤: 右键project->property->java build path->libaries->add external jars

    为项目导入mysql-jdbc的jar包

    步骤 2 : 初始化驱动

    通过Class.forName("com.mysql.jdbc.Driver");
    初始化驱动类com.mysql.jdbc.Driver
    就在 mysql-connector-java-5.0.8-bin.jar中
    如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException

    Class.forName是把这个类加载到JVM中,加载的时候,就会执行其中的静态初始化块,完成驱动的初始化的相关工作。

    初始化驱动

    package jdbc;

       

    public class TestJDBC {

        public static void main(String[] args) {

               

            //初始化驱动

            try {

                //驱动类com.mysql.jdbc.Driver

                //就在 mysql-connector-java-5.0.8-bin.jar中

                //如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException

                Class.forName("com.mysql.jdbc.Driver");

                  

                System.out.println("数据库驱动加载成功 !");

       

            catch (ClassNotFoundException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

               

        }

    }

    步骤 3 : 建立与数据库的连接

    建立与数据库的Connection连接
    这里需要提供:
    数据库所处于的ip:127.0.0.1 (本机)
    数据库的端口号: 3306 (mysql专用端口号)
    数据库名称 how2java
    编码方式 UTF-8
    账号 root
    密码 admin


    注: 这一步要成功执行,必须建立在mysql中有数据库how2java的基础上,如果没有,点击创建数据库查看如何进行数据库的创建。

    建立与数据库的连接

    package jdbc;

      

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

      

    public class TestJDBC {

        public static void main(String[] args) {

      

            try {

                Class.forName("com.mysql.jdbc.Driver");

      

                // 建立与数据库的Connection连接

                // 这里需要提供:

                // 数据库所处于的ip:127.0.0.1 (本机)

                // 数据库的端口号: 3306 (mysql专用端口号)

                // 数据库名称 how2java

                // 编码方式 UTF-8

                // 账号 root

                // 密码 admin

      

                Connection c = DriverManager

                        .getConnection(

                                "jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",

                                "root""admin");

      

                System.out.println("连接成功,获取连接对象: " + c);

      

            catch (ClassNotFoundException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

      

        }

    }

    步骤 4 : 创建Statement

    Statement是用于执行SQL语句的,比如增加,删除

    创建Statement

    package jdbc;

      

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    import java.sql.Statement;

      

    public class TestJDBC {

        public static void main(String[] args) {

      

            try {

                Class.forName("com.mysql.jdbc.Driver");

      

                Connection c = DriverManager

                        .getConnection(

                                "jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",

                                "root""admin");

      

                // 注意:使用的是 java.sql.Statement

                // 不要不小心使用到: com.mysql.jdbc.Statement;

                Statement s = c.createStatement();

      

                System.out.println("获取 Statement对象: " + s);

      

            catch (ClassNotFoundException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

      

        }

    }

    步骤 5 : 执行SQL语句

    s.execute执行sql语句
    执行成功后,用mysql-front进行查看,明确插入成功

    执行SQL语句之前要确保数据库how2java中有表hero的存在,如果没有,需要事先创建表

    执行SQL语句

    package jdbc;

      

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    import java.sql.Statement;

      

    public class TestJDBC {

        public static void main(String[] args) {

      

            try {

                Class.forName("com.mysql.jdbc.Driver");

      

                Connection c = DriverManager

                        .getConnection(

                                "jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",

                                "root""admin");

      

                Statement s = c.createStatement();

      

                // 准备sql语句

                // 注意: 字符串要用单引号'

                String sql = "insert into hero values(null,"+"'提莫'"+","+313.0f+","+50+")"

                s.execute(sql);

      

                System.out.println("执行插入语句成功");

      

            catch (ClassNotFoundException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

      

        }

    }

    步骤 6 : 关闭连接

    数据库的连接是有限资源,相关操作结束后,养成关闭数据库的好习惯
    先关闭Statement
    后关闭Connection

    package jdbc;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    import java.sql.Statement;

    public class TestJDBC {

        public static void main(String[] args) {

            Connection c = null;

            Statement s = null;

            try {

                Class.forName("com.mysql.jdbc.Driver");

                c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8""root",

                        "admin");

                s = c.createStatement();

                String sql = "insert into hero values(null," "'提莫'" "," 313.0f + "," 50")";

                s.execute(sql);

            catch (ClassNotFoundException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            finally {

                // 数据库的连接时有限资源,相关操作结束后,养成关闭数据库的好习惯

                // 先关闭Statement

                if (s != null)

                    try {

                        s.close();

                    catch (SQLException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    }

                // 后关闭Connection

                if (c != null)

                    try {

                        c.close();

                    catch (SQLException e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    }

            }

        }

    }

    步骤 7 : 使用try-with-resource的方式自动关闭连接

    如果觉得上一步的关闭连接的方式很麻烦,可以参考关闭流 的方式,使用try-with-resource的方式自动关闭连接,因为Connection和Statement都实现了AutoCloseable接口

    package jdbc;

      

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    import java.sql.Statement;

      

    public class TestJDBC {

        public static void main(String[] args) {

      

            try {

                Class.forName("com.mysql.jdbc.Driver");

            catch (ClassNotFoundException e) {

                e.printStackTrace();

            }

      

            try (

                Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",

                    "root""admin");

                Statement s = c.createStatement();              

            )

            {

                String sql = "insert into hero values(null," "'提莫'" "," 313.0f + "," 50")";

                s.execute(sql);

                  

            catch (SQLException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

    }


    更多内容,点击了解: https://how2j.cn/k/jdbc/jdbc-statement/387.html

  • 相关阅读:
    【Linux】Gitlab库已损坏前端显示500错误解决方法
    【linux】gitlab 的安装以及数据迁移
    【PHP】图片转换为base64,经过post传输后‘+’会变成 ‘空格’
    【Mac】解决外接显示器时无法用键盘调节音量
    【Mac】 /usr/local 文件夹权限问题
    学妹问的Spring Bean常用配置,我用最通俗易懂的讲解让她学会了
    上海月薪 1w 和家乡月薪 5000 你选择哪?
    30岁码农的一次面试经历:不委屈自己
    写4条宝贵的经验,给初入职场的你
    Java 8 Optional 良心指南,建议收藏
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615468.html
Copyright © 2011-2022 走看看