JDBC的基础操作

步骤

1) 导入驱动jar包

包的名称为

 JDBC的基础操作

2) 注册驱动。  使用Mysql5版本后的数据库可以省略该步骤。

语法:class.forname(com.mysql.jdbc.Driver);

Mysql中这句话是固定写法。

3) 获取连接对象Connection

格式:

Connection con=DriverManager.getConnection(url);

url(Uniform Resource Location):指的是统一资源定位符。

Mysql中,格式为jdbc:mysql://ip地址(域名):端口号/数据库名称。例如:jdbc:mysql://localhost:3306/db3。若使用的是本机的地址并且端口号为3306,则可以写成这个格式:jdbc:mysql:///数据库名称.例如:jdbc:mysql:///db3

4) 定义sql语句

这里分两种情况,一种是对表中的数据进行增删改的操作,另一 种是对表中的数据进行查询操作,两种操作的不同决定下面对象 的不同。

5) 获取执行sql的对象

格式:

Statement sta=con.createStatement();

6) 执行sql并获取返回结果

格式:

Int i=sta.executeUpdate(sql);//对数据库中的数据进行增删改的操作时使用该语句

或者 Resuleset res=sta.executeQuery(sql);//对数据库中的数据进行查询时使用该语句

i指的是sql语句的执行所影响的数据库中的行数

7) 释放资源

定义的Connection、Statement、Resultset对象都需要释放

格式:con.close()、sta.close()

下图为运行的一个例子

该例子是对数据库text中的表user进行插入数据操作

JDBC的基础操作

数据库初始数据为三条,现在我们要用JDBC向该数据库中插入一条数据“4  王六   147”

下面是IEDA中的操作

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

 

public class text {

 

    public static void main(String[] args) {

        Connection con=null;

        Statement statement=null;

        try {

            //注册驱动

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

            try {

                //获取连接对象Connection

                con = DriverManager.getConnection("jdbc:mysql:///text", "root", "1634178849zrz");

                //定义sql语句

                String sql="insert into user values(4,‘王六‘,‘147‘)";

                //获取执行sql的对象Statement

                statement = con.createStatement();

                //执行sql

                int i = statement.executeUpdate(sql);

 

                System.out.println(i);

            } catch (SQLException throwables) {

                throwables.printStackTrace();

            }

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }finally {

            //释放资源

            if(statement!=null) {

                try {

                    statement.close();

                } catch (SQLException throwables) {

                    throwables.printStackTrace();

                }

            }

            if(con!=null){

                try {

                    con.close();

                } catch (SQLException throwables) {

                    throwables.printStackTrace();

                }

            }

        }

    }

}

 JDBC的基础操作

数据库中的结果为下图所示

 JDBC的基础操作

执行代码前不要忘记了一个重要过程:导包

这样代码写完后没发现太过于繁琐了吗?在以后的操作中都要写这样一大部分重复的代码,岂不是很浪费时间,为了解决这个问题,我们可以把重复的代码放在一个方法中,这样在下次调用方法就可以直接执行,是不是省事多了?

注册驱动和获取连接对象这两个代码每次是重复的,所有我们可以把这两个写进一个方法

资源释放的代码也一样,我们可以把资源释放写进一个方法中,这样就简洁了许多

先定义一个释放资源的方法

 JDBC的基础操作

再定义一个方法来包装注册驱动和获取连接对象

首先创建一个配置文件

 JDBC的基础操作

内容为

 JDBC的基础操作

接下来要做的就是从该配置文件中得到对应的url、user、password、driver进入该代码中。而文件的读取只需要读取一次即可,

因此,接下来要用到静态代码块这个知识点

格式为:

JDBC的基础操作

静态代码块中的

 JDBC的基础操作

为类加载器,目前了解即可,目的是为了把配置文件中的url、user、password、driver加载到Propertiese集合中,再用集合中的方法获取相对于的值。

这样获取对象的方法就简化为

 JDBC的基础操作

这样直接调用这两个方法来代替原代码中的繁琐步骤即可,若要修改数据,直接去配置文件中修改即可。

简化后的代码为:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

 

public class text {

 

    public static void main(String[] args) {

        Connection con=null;

        Statement statement=null;

 

            //注册驱动

                //获取连接对象Connection

        try {

            con=JDBCUtils.connection();

        } catch (SQLException throwables) {

            throwables.printStackTrace();

        }

        //定义sql语句

                String sql="insert into user values(4,‘王六‘,‘147‘)";

                //获取执行sql的对象Statement

        try {

            statement = con.createStatement();

        } catch (SQLException throwables) {

            throwables.printStackTrace();

        }

        //执行sql

        int i = 0;

        try {

            i = statement.executeUpdate(sql);

        } catch (SQLException throwables) {

            throwables.printStackTrace();

        }

 

        System.out.println(i);

 

 

            //释放资源

            JDBCUtils.close(statement,con);

 

        }

    }

这样一看就简单了许多,省去了很多繁琐的代码。

 

JDBC的基础操作

上一篇:mssql-注入脚本


下一篇:使用客户端Navicat连接数据库oracle19c