Jdbc需要知道的事

学习切莫心急,时间才能出真知,注重自己的效率。左神说:练习就是把需要反应一下才能搞明白的问题变成本能。本以为数据库学的很好了,可是答起卷来还是一塌糊涂。

开始复习jdbc:

Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。

JDBC结构图,它显示了驱动程序管理器方面的JDBC驱动程序和Java应用程序的位置。

 

JDBC API提供了以下接口和类:

DriverManager: 这个类管理数据库驱动程序的列表。确定内容是否符合从Java应用程序使用的通信子协议正确的数据库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器将被用来建立数据库连接。

Driver: 此接口处理与数据库服务器通信。很少直接直接使用驱动程序(Driver)对象,一般使用DriverManager中的对象,它用于管理此类型的对象。它也抽象与驱动程序对象工作相关的详细信息

Connection : 此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过此唯一的连接对象。

Statement : 可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。

ResultSet: 这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,可以通过移动它来检索下一个数据。

SQLException: 这个类用于处理发生在数据库应用程序中的任何错误。

 


总结的不错

主要有以下几步:

1装载驱动程序——Class.forName();将某一数据库驱动程序的类文件加载到内存中的过程com.mysql.jdbc.Driver(需要从网上下载并导入jar)

2建立连接:

Connection con =DriverManager.getConnection(数据库URL,用户名,密码);

3预编译:PreparedStatement接口扩展了Statement接口,它添加了比Statement对象更好一些优点的功能。

此语句可以动态地提供/接受参数。向数据库发送命令

PreparedStatement pstm=conn.preparedStatements(sql);

a)      String sql=”select * from emp”;(无动态值)con.prepareStatement(sql);

b)        String sql=”insert into empvalues(?,?,?)con. prepareStatement(sql);

pstmt.setString(1,student.getName());

pstmt.setString(2, student.getSex());

pstmt.setString(3, student.getAge());

c)      String sql=insert into emp values(’“+id+”‘,单引号双引号  加号)

con.prepareStatement(sql);

4 执行编译结果,返回结果集:

a)     获得结果集,需要执行:rs=pstmt. psta.executeQuery();

b)     返回受影响行数: Int a= psta.executeUpdate();

c)     返回受影响行数: Int a= psta.executeUpdate(sql);

(与上面对应)

SQL语句执行后从数据库查询读取数据,返回的数据放在结果集中。

ResultSet接口的方法可以分为三类:

浏览方法:用于移动光标。

获取方法:用于查看光标指向的当前行的列中的数据。

更新方法:用于更新当前行的列中的数据。 然后在基础数据库中更新数据。

ResultSet接口包含数十种获取当前行数据的方法。

Resultset.getint(列名或列的索引(从第一行开始是1)

ResultSet也提供了更新结果集的方法,详情查看文档。

5关闭连接rs.close ps.close conn.close

一般需要取消数据库自动提交的操作:setAutoCommit(false);

在所有sql语句全部执行后,在 commit orrollback;以上三个属于Conn接口;