使用JDBC访问数据库

使用JDBC访问数据库的过程

与数据库建立连接
如何与数据库建立连接呢?(注:这里以mysql为例)
(1)加载数据库驱动(通常使用Class类的forName()静态方法来加载驱动)
    Class.forName("com.mysql.jdbc.Driver");
(2)通过DriverManager获取数据库连接
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","数据库密码");    
访问数据库
建立连接之后,就可以对数据库进行增删改查等操作。在JDBC中,数据库操作由Statement,PreParedStatement,
CallableStatement对象完成。
(一)Statement
    (3)通过Connection对象创建Statement对象
        Statement statement = connection.createStatement();
    (4)使用Statement执行SQL语句
        ResultSet resultSet = statement.executeQuery("select * from t1");
(二)PreParedStatement
    (3)创建一个PreparedStatement对象
        PreparedStatement pstmt = connection.prepareStatement("SELECT * FROM t1 WHERE cate_id=?");
    (4)先为参数赋值,再使用executeQuery或executeUpdate方法执行
        pstmt.setInt(1,3);
        ResultSet rs1=pstmt.executeQuery();
(5)操作结果集
关闭连接
连接使用完毕,调用close()方法关闭连接。
使用Statement操作代码
import java.sql.*;
public class Test {
    public static void main(String[] args) throws ClassNotFoundException {
        //(1)加载数据库驱动
        Class.forName("com.mysql.jdbc.Driver");
        try {
        //(2)通过DriverManager获取数据库连接
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","111111");
        //(3)通过Connection对象创建Statement对象
            Statement statement = connection.createStatement();
        //(4)使用Statement执行SQL语句    
            ResultSet resultSet = statement.executeQuery("select * from t1");
        //(5)操作结果集
            while (resultSet.next()){
                System.out.println(resultSet.getInt("id")+" "+resultSet.getString("name"));
            }
        //(6)关闭连接    
            statement.close();      //在关闭Statement对象时,其相应的结果集也被关闭。
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
使用PreparedStatement操作代码
import java.sql.*;
public class Test1 {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        //(1)加载数据库驱动
        Class.forName("com.mysql.jdbc.Driver");
        //(2)通过DriverManager获取数据库连接
        Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","111111");
        //(3)创建一个PreparedStatement对象
        PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM t1 WHERE cate_id=?");
        //(4)先为参数赋值,再使用executeQuery或executeUpdate方法执行
        pstmt.setInt(1,3);
        ResultSet rs1=pstmt.executeQuery();
        //(5)操作结果集
        while(rs1.next())
            System.out.println("名称:"+rs1.getString("cate_name"));

        pstmt.setInt(1,5);
        ResultSet rs2=pstmt.executeQuery();
        while(rs2.next())
            System.out.println("名称:"+rs2.getString("cate_name"));
        //(6)关闭连接
        rs1.close();
        rs2.close();
        pstmt.close();
        conn.close();

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值