JDBC ---- 基础

一、 JDBC API在JDK中被分为两个包:java.sql和javax.sql,java.sql.Driver是所有JDBC驱动程序需要实现的接口,以下是几种主要数据库的JDBC驱动的类名
  • com.microsoft.jdbc.sqlserver.SQLServerDriver
-----这是微软的SQL Server 2000的JDBC驱动的类名
  • com.microsoft.sqlserver.jdbc.SQLServerDriver
-----这是微软的SQL Server 2005的JDBC驱动的类名
  • oracle.jdbc.driver.OracleDriver
-----这是Oracle的JDBC驱动的类名
  • com.mysql.jdbc.Driver
-----这是MySql的JDBC驱动的类名
  • org.gjt.mm.mysql.Driver
-----这是MySql以前(旧)的JDBC驱动的类名
         
  • Connection connect(String url, Properties info) throws SQLException
-----java.sql.Driver接口中定义了一个Connect()方法,用来建立到数据库的连接

二、加载与注册JDBC驱动
        
1、加载JDBC驱动是调用 Class类的静态方法forName(),向其加载的JDBC驱动的类名

2、DriverManager类是驱动程序管理器类,提供了registerDriver()方法来注册驱动程序类的实例


三、连接数据库

调用 DriverManager类的getConnection()方法连接数据库,返回一个Connection对象,在DriverManager类中提供了3个重载的getConnection()方法,每个方法里都有一个String url参数,不同的数据库的url不同,如

  • jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs
-----SQL Server 2000和2005
  • jdbc:oracle:thin:@localhost:1521:ORCL
-----Oracle 9i 和 10g
  • jdbc:mysql://localhost:3306/databasename
-----MySQL
  • sun.jdbc.odbc.JdbcOdbcDriver
-----JDBC-ODBC桥连接方式


四、访问数据库

连接数据库后,需要对数据库进行访问,执行SQL语句,在java.sql包中提供了3个接口,分别定义了对数据库调用 的不同方式 ,3个接口是:Statement、PreparedStatement、CallableStatement

        1、Statement: Statement对象用于执行静态的SQL语句,返回执行的结果。没有参数的SQL语句通常用Statements对象来执行
  • Statement createStatement() throws SQLException
-----Connection接口中定义了createStatement()方法,创建Statement对象,用于向数据库发送SQL语句

        2、PreparedStatement:SQL语句在程序执行前必须被预编译,如果有十条SQL语句都执行插入操作,则将被编译十次,这样是比较低效的,PreparedStatement接口从Statement接口继承而来,它的对象表示一条预编译过的SQL语句,通过调用Connection对象的prepareStatement()方法来得到PrepareStatement对象如
  • PreparedStatement pstme = conn.prepareStatement("inser employee values(?,?,?)");
-----PreparedStatement对象所代表的SQL语句中的参数用(?)表示,调用setXXX()设置这些参数
  • pstmt.setInt(1,1);
-----设置第一个问号的参数为int型,值为1
  • pstmt.setString(2,"ye");
-----设置第二个问号的参数为String,值为ye
  • pstmt.setDate(3,java.sql.Date.valueOf("2003-3-3");
-----设置第三个问号的参数为Date(java.sql.Date),值为2003-3-3
  • pstmt.executeUpdate();
-----执行上面的插入语句

        3、CallableStatement:此对象用于执行SQL存储过程,CallableStatement接口从PreparedStatement接口继承而来。在执行存储过程之前,凡是存储过程中类型为OUT的参数必须被注册。
  • CallableStatement cstmt = conn.prepareCall("call proc_change(?,?)");
-----Connection对象的prepareCall()方法得到CallableStatement对象
  • cstmt.registerOutParameter(1,java.sql.Types.INTEGER);
-----注册返回值  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值