Java连接数据库执行SQL(DML,DDL)语句的技术

设计理念:

        定义了一些接口(java.sql包),各个数据库厂商实现接口。

Connection,Statement,ResultSet

前提步骤:

  1. 首先要在官网下载对应的驱动程序jar包,jar包中的类实现JDBC接口(如:sqlsever2005 jdbc driver download)
  2. 项目与模块引用(导入)jar包
    1. 项目文件夹下新建lib 文件夹
    2. 把jar 包放入lib文件夹
    3. 项目引用project struct ->lib
    4. Java连接数据库执行SQL(DML,DDL)语句的技术
    5. Java连接数据库执行SQL(DML,DDL)语句的技术 
    6. 点“+”后,选择java ,选择驱动程序所在的文件夹,即可加载成功。 

代码实现步骤:

  1. 加载驱动程序:Class.forName("com.micorsoft.sqlsever.jdbc.SQLSeverDriver");
    1. Class.forName("驱动程序包名类名")静态方法
    2. 驱动程序类名 java.sql.Driver接口
    3. forName方法会抛出一个编译时异常ClassNotFoundException,必须处理
    4. 驱动程序加载到内存并且去DriverManager那里注册。
  2. 建立连接(Connection)   DriverManager.getConnection();
    1. 静态方法
    2. getConnection方法会抛出一个编译时异常SQLException
    3. url   数据库类型,名称IP:port:dbName userName,pwd
  3.  创建Statement 
  4. 执行sql            int executeUpdate(String insert,update,delete sql)
                            ResultSet executeQuery(String selectSQL)
  5. 关闭资源,关闭资源正好与建立资源顺序相反

代码:


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 con = null;
        Statement sta = null;
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("驱动程序加载完毕!");
            String url = "jdbc:sqlserver://localhost:1433;databaseName=pas";
            con = DriverManager.getConnection(url, "sa", "sa");
            System.out.println(con);
            sta = con.createStatement();
            String sql = "insert into teacher(teanum, teaName, teatitle, teatypeid, teabtd, pwd, static) values ('20210001', '张三', '老师', 1, '1999-9-13', 1, 1)";
            //String sql2 = "delete from teacher where teaNum = '20210001'";
            //sql语句影响的行数
            int rows = sta.executeUpdate(sql);
            if (rows == 1) {
                System.out.println("op success");
            } else {
                System.out.println("op error");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("驱动程序没有找到");
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if(sta != null) {
                    sta.close();
                    sta = null;
                }
                if(con != null) {
                    con.close();
                    con = null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        System.out.println("后面代码");
    }
}

上一篇:剑指 Offer 06. 从尾到头打印链表


下一篇:题解 2A