首页 > 编程知识 正文

数据结构与编程,数据结构Java版

时间:2023-05-03 07:31:52 阅读:138553 作者:3251

1、java数据库操作的基本流程

2、常用的几个重要技巧:

滚动,可更新的记录集

批量更新

事务处理

java数据库操作的基本流程:获取数据库连接执行sql语句-处理执行结果-释放数据库连接

1、获取数据库连接

1 )用驱动程序管理器连接数据库

示例:

String className,url,uid和pwd;

class name=' Oracle.JDBC.driver.Oracle driver ';

URL=' JDBC : Oracle : thin : @ 127.0.0.133601521: or asvr;

uid='system ';

pwd='manager ';

class.forname(classname );

connection cn=driver manager.getconnection (URL,uid,pwd );

2 )以JNDI(Java命名和目录服务)方式

范例

String jndi='jdbc/db ';

contextCTX=(context ) new InitialContext ) ).lookup('Java:comp/env ' );

datasourceds=(datasource ) CTX.lookup ) JNDI;

Connection cn=ds.getConnection (;

经常在jsp中使用

2 .执行sql语句

1 )在语句中执行sql语句

String sql;

Statement sm=cn.createStatement (;

sm.executequery(SQL; //执行数据查询语句(select )

sm.executeupdate(SQL; //执行数据更新语句(delete、update、inssert、drop等) statement.close );

2 )在预准备语句中执行sql语句

String sql;

SQL='inssertintouser(id,name ) values )? ();

preparedstatementps=cn.preparestatement (SQL;

PS.setint(1,xxx );

PS.setstring(2,xxx );

.

ResultSet rs=ps.executeQuery (; //查询

int c=ps.executeUpdate (; //更新

3 .处理结果

返回查询语句、记录集ResultSet。

更新语句,并返回指示受更新影响的记录数的数字。

ResultSet方法:

1、next ),将光标向后移动一行,成功后返回true; 否则就返回false。

2、返回当前光标下字段的值的getint(id ) (或getsting ) (name )。

3、断开连接。

cn.close (;

通常,先关闭ResultSet,再关闭Statement (或PreparedStatement ),最后再关闭Connection

滚动,可更新的记录集

1、创建可滚动可更新的语句

statementsm=cn.create statement (resultset.type _ scroll _ ensi tive,ResultSet.CONCUR_READ_ONLY );

此Statement获取的ResultSet是可滚动的

2、创建PreparedStatement时指定的参数很多

1、主题

Statement sm=cn.createStatement (;

sm.addbatch(SQL1;

sm.addbatch(SQL2;

.

sm.executeBatch (

可以在执行多个sql语句后批量更新的Statement对象。 这些语句可以是delete、update、inssert等,也可以是2、PreparedStatement

preparedstatementps=cn.prepared statement (SQL;

{

PS.setxxx(1,xxx );

.

ps.addBatch (;

}

ps.executeBatch (;

一个PreparedStatement可以多次执行一个sql语句和转换参数,一次更新。

处理事务

1、关闭连接自动提交

cn.setautocommit(false );

2、执行一系列sql语句

重要信息:在执行每个新的sql语句之前,必须关闭上次执行sql语句的Statement (或PreparedStatemet )

Statement sm;

sm=cn.create statement (inssertintouser…);

sm.executeUpdate (;

sm.close (;

sm=cn.create statement (inssertintocorp…);

sm.executeUpdate (;

sm.close (;

3、提出

cn.commit (;

4、发生异常时进行回滚

cn.rollback (;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。