JDBC基础知识点



JDBC基础知识点。

C 1. 理解JDBC的概念和作用
a. JDBC是一套访问数据库的编程接口。
b. JDBC中主要制定了接口,c. 各个数据库公司按照JDBC规范开发各自的JDBC驱动程序。
d. 在开发程序时,e. 为了使程序能够容易地在数据库间移植,f. 应该面向JDBC的接口编程。
A 2.JDBC编程的一般步骤
a.加载驱动程序。
b.取得Connection连接对象。
c.取得Statement或PreparedStatement语句地象。
d.调用executeUpdate()或executeQuery(),执行sql语句。查阅API理解它们的返回值含义。
f.如果有结果集ResultSet对象,并移动指针,访问结果集里的数据。
g.操作完成一定不要忘记按顺序关闭ResultSet,Statement,Connection。
A 3.掌握如何操作ResultSet对象
a. 通过调用statement.executeQuery()方法,b. 可以得到结果集对象。
c. 结果集对象有一个行指d. 针,e. 只能读取指f. 针所指g. 向的行的数据。
h. 刚产生的ResultSet对象,i. 指j. 针指k. 在第一行的上面,l. 即没有指m. 向任何行。
n. 调用ResultSet.next()方法,o. 可以把指p. 针向下一行移动。如果有下一条记录,q. 则指r. 针下移一行,s. 并返回true,t. 如果没有下一条记录,u. 则指v. 针不w. 会移动,x. 并返回false。
y. 当指z. 针指aa. 向一行后,bb. 调用ResultSet.getString(),ResultSet.getInt(),cc. getDate()等方法获得当前行某个列的数据值。
A 4.理解PreparedStatement和Statement的区别。
a.preparedStatement是预编译的语句对象。
b. preparedStatement在执行多条同构SQL时效率比Statement高。
c.使用PreparedStatement时,程序结构通常比Statement更加清晰。
d.使用PreparedStatement时,可以避免SQL注放的漏洞。
B 5.CallableStatement调用存储过程
a. CallableStatement可用于调用数据库上的存储过程。
b.如果有输出参数,要先注册输出参数值。
c.如果有输入参数,要设置输入参数值。
e.调用execute()执行存储过程。
f.执行完成后取得输出参数值。
g.最后别忘记关闭CallableStatement和Connection.
作业
1.用mysql创建一个学生表。
2.用JDBC编写代码,对学生表进行添删改查操作。
3.用preparedStatement对学生表进行添删改查操作。
4.解释preparedStatement使用的好处。
5.了解调用存储过程的步骤。
6.提供一个辅助类DbUtil,对JDBC中的常用操作进行封装,使JDBC代码更简单。
第4天:JDBC

A 1.掌握事务的概念和JDBC进行事务处理的操作步骤。
a. 事务就是把多个操作做为一个不b. 可分的原子操作,c. 要么全部成功,d. 任务一步失败,e. 则回滚到原来的状态。
f. 首先把取到的连接对象的autoCommit()设为false,g. 即con.setAutoCommit(false)。这样在执行executeUpdate时,h. 就不i. 会真正提交到数据库。
j. 通过上一步取到的Connection对象,k. 获得多个语句对象,l. 并执行sql.
m. 所有操作执行完成后,n. 调用连接对象的commit()方法提交。
e.应该用try,catch把所有的操作包含起来,并在catch语句块中调用Connection.rollback()方法,确保发生异常时回滚到原来的状态。
A 2.数据库连接池原理
a.使用数据库连接池是为了重用连接对象,提高系统效率。
b.数据库连接池是一个程序,用于管理数据库的连接。我们的程序以后就向连接池要连接,而不是直接向数据库拿连接。
c.连接池启动时通常会创建一定数量的连接。
d.程序向连接池要连接时,连接池会返回一个空闲的连接。如果没有空闲连接,只要池中的连接数没有超过上限,连接池会创建一个新连接。
f.池里的空闲连接过多时,连接池通常会关闭掉多多余的连接。
g.J2EE服务器都提供了连接池,我们可以直接利用。
C 2. JDBC2.0的新特性
a. 结果集(ResultSet)游标b. 可以上下移动,c. 定位。
conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//移动游标
rs.next();//下移
rs.previous();//上移
rs.first();//第一条
rs.last();//最后一条
rs.absolute(100);//第n条
d. 可以通过结果集(ResultSet)对象添,e. 删,f. 改数据。
//修改最后一条记录
rs.last();
rs.updateString(“name”, “hello”);
rs.updateRow();
//添加记录
rs.moveToInsertRow();
rs.updateString(“name”, “name1″);
rs.updateString(“phone”, “phone1″);
rs.updateString(“address”, “address1″);
rs.insertRow();
//删除记录
rs.deleteRow();
g. 一个Statement对象可以执行多条SQL。
stmt.addBatch(sql);
stmt.addBatch(sql);
stmt.addBatch(sql);
stmt.executeBatch();
A 4.理解DAO设计模式用作用,掌握它的用法。
a.DAO的作用是作对象关系映射(ORM),即内存里的一个对象可以和表里的一条记录一一对映。
b.DAO是数据访问对象,用来封装所有的JDBC操作,即在DAO之外不应该再看到任何JDBC的类和接口。
c.DAO是一个类,通常提供对象的添删改查的方法,实际是要通过操作对象来添删改查表中数据

作业
1.掌握事务的处理方法
2.解释DAO设计模式的概念及其作用。
3.解释连接池的原理。
4.假如:银行帐户是银行系统中的一个实体类,有如下属性:
帐号,帐户名,余额。
1.采用DAO的设计模式,实现一个银行帐户的DAO类,完成对象关系映射,
即完成添删改查的方法,其中查询包括按帐号查和按姓名进行模糊查询。
2.在DAO中提供一个在两个帐户中转帐的算法。要求利用到事务处理。
3.完成例子代码,实现在任意帐户之间的转帐操作。