JDBC —— 简单的连接数据库和封装

连接数据库,并读取表里的内容

eclipse连接数据库的一般过程是:
1,加载JDBC驱动(jar驱动包自己去下,这里有导入jar到eclipse的方法Eclipse下导入外部jar包的3种方式
2,建立数据库连接(Connection接口)
3,建立与执行SQL语句(Statement接口)
4,处理结果集(选择适当的接口)
5,关闭数据连接(这里要注意顺序,要先关小门后关大门)

表Student中内容:

上代码:

import java.sql.*;

public class Demo1 {

    // 数据库地址,1433是SQLServer端口,数据库名称是Student
    private static String dbUrl="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    // 用户名
    private static String dbUserName="sa";
    // 密码
    private static String dbPassword="0123456789";
    // 驱动名称
    //Mysql驱动语句是com.mysql.jdbc.Driver(这个具体的可以查到)
    private static String jdbcName="com.microsoft.sqlserver.jdbc.SQLServerDriver";

    public static void main(String[] args) {
        try {
            Class.forName(jdbcName);
            System.out.println("加载驱动成功!");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("加载驱动失败!");
        }
        Connection con=null;
        try {
            // 获取数据库连接
            con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
            System.out.println("获取数据库连接成功!");
            System.out.println("进行数据库操作!");

            Statement statement=con.createStatement();
            String sql="select * from Student";
            ResultSet rs=statement.executeQuery(sql);
             while(rs.next()) {
                 System.out.println(rs.getString(1)+' '+rs.getString(2)
                 +' '+rs.getString(3)+' '+rs.getString(6));

             }
             rs.close();          //结果集关闭
             statement.close();   //执行关闭
             con.close();         //连接关闭
        } catch (SQLException e) {
            e.printStackTrace();
        }
        }
    }

//output:

大家可以试一试这个代码,我这里是SQLServer的,其他数据库相应的地方要改一下。数据库里的内容就不展示了,自己用到里面的表实现相应的功能就行。
有什么问题可以在下面留言。

实现封装

写过连接数据库代码的同志会发现,常常有很多重写的代码。
此时,我们就可以用到封装了,把重用的代码用一个类装起来。
我们先来建一个DButil类:

import java.sql.*;

public class DButil {

    // 数据库地址
    private static String dbUrl="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    // 用户名
    private static String dbUserName="sa";
    // 密码
    private static String dbPassword="0123456789";
    // 驱动名称
    private static String jdbcName="com.microsoft.sqlserver.jdbc.SQLServerDriver";

    //获取数据库连接
    public Connection getCon()throws Exception{
        Class.forName(jdbcName);
        //通过访问数据库的URL获取数据库连接对象
        Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
        return con;
       }

    public void close(Statement stmt,Connection con)throws Exception{
        if(stmt!=null){
            stmt.close();
         if(con!=null) {
             con.close();
         }
        }
    }
}

再来测试一下这个类的功能。
这里我试一下statement接口中的executeUpdate方法。
查看API我们不难知道,
这个方法可以实现对数据库insert,delectable,update
这里我们就试一下插入操作。
上代码:

import java.sql.*;
import DButil.DButil;

public class Demo2 {
     public static void main(String[] args) throws Exception {
         DButil dbutil=new DButil();
        String sql="insert into Student values('19931206','张三','男','ZY10','洪山广场',null,'1.75',7)";
        //获取数据库连接
        Connection con =dbutil.getCon();
        Statement stmt =con.createStatement();
        int result =stmt.executeUpdate(sql);
        System.out.println("操作的结果:"+result+"数据");
        stmt.close();    //关闭Statement
        con.close();     //关闭Connection
    }
}

//output:

插入之后数据库中Student表

大家可以对比之前数据库中的表看,会发现插入数据成功了。

猜你喜欢

转载自blog.csdn.net/m0_37293461/article/details/78852330