JDBC


什么是JDBC?

Java语言访问数据库的一种规范,是一套API

JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。

 
连接一旦建立,就可用来向它所涉及的数据库传送SQL语句。JDBC对可被发送的SQL语句类型不加任何限制。这就提供了很大的灵活性,即允许使用特定的数据库语句或甚至于非SQL语句。



JDBC提供了三个类,用于向数据库发送SQL语句。Connection接口中的三个方法可用于创建这些类的实例。下面列出这些类及其创建方法:
(1)Statement:由方法createStatement所创建。Statement对象用于发送简单的SQL语句。
(2)PreparedStatement:由方法prepareStatement所创建。PreparedStatement对象用于发送带有一个或多个输入参数(IN参数)的SQL语句。PreparedStatement拥有一组方法,用于设置IN参数的值。执行语句时,这些IN参数将被送到数据库中。PreparedStatement的实例扩展了Statement,因此它们都包括了Statement的方法。PreparedStatement对象有可能比Statement对象的效率更高,因为它已被预编译过并存放在那以供将来使用。
(3)CallableStatement:由方法prepareCall所创建。CallableStatement对象用于执行SQL储存程序─一组可通过名称来调用(就象函数的调用那样)的SQL语句。CallableStatement对象从PreparedStatement中继承了用于处理IN参数的方法,而且还增加了用于处理OUT参数和INOUT参数的方法。
不过通常来说createStatement方法用于简单的SQL语句(不带参数)、prepareStatement方法用于带一个或多个IN参数的SQL语句或经常被执行的简单SQL语句,而prepareCall方法用于调用已储存过程


连接
例:import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {

    
     public static void main(String[] args) {
        //声明一个Connection对象
        Connection conn = null;
        Statement st =null;
        
        try {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.获得连接  DriverManager.getConnection(url,username,pwd);
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
            System.out.println("连接数据库成功!连接对象为"+conn);
            String name = "刚刚";
            int age = 20;
            String strain="藏獒";
            int love = 800;
            StringBuffer sb = new StringBuffer("insert into pet (name,age,strain,love) values ('");
            sb.append(name+"',");
            sb.append(age+",'");
            sb.append(strain+"',");
            sb.append(love+")");
            System.out.println(sb.toString());
            String sql = sb.toString();
            //Statement 将Sql语句发送给数据库 并让数据库执行
            //3.创建Statement对象
            st = conn.createStatement();
            //4.用st对象发送sql语句到数据库并执行
            st.executeUpdate(sql);
            //sql语句发送给数据库后  数据库需要对sql语句进行编译  之后再去执行
        } catch (Exception e) {
            System.out.println("连接失败");
            e.printStackTrace();
        }finally{
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(st!=null){
            try {
                st.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }    
            }
        }

    }

}


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值