当前位置:首页>> 网站建设知识>> 网站建设知识

全文搜索

精华导读

·网站的一些基础小知识
·把网站变成卖场
·细说选择.cn域名的七大理由
·网站性感域名十大原则
·大型商务网站的SEO优化误区
·导致搜索引擎收录困难的5种原因
·网站建设中meta标签之详解
·网页制作中Web网页安全色谱
·网页设计中HTML常范的五个错误
·如何建立网站地图(site map)
·网站建设时如何选购虚拟主机?
·中国国家顶级域名和国际域名有什么区别?
·企业建设网站域名可以使用哪些字?
·建设网站时企业如何准备建网站资料?
·DIV+CSS建立标准WEB网页的好处
·网站建设中SEO优化对中小型企业的重要性
·网站建设后为何你的网站并没从seo优化中获得好处
·网站建设中怎么避免被搜索引擎误会“抄袭网页”
·网站建设从门户模式到立体化模式

最新发表

·Java连接Sybase数据库
·JDBC连接各种数据库方法
·用js按比例重定图片尺寸
·用js封装的时间设置器
·网站设计之合理架构css
·css的引用文件方式
·电子商务与网络营销的区别和联系
·什么是电子商务链?
·EDI与电子商务之间是什么关系?
·什么是电子商务
·什么是网上商店?网上商店对网络营销有什么作用
·什么是网络社区?什么是网络社区营销?
·什么是网络会员制营销?
·什么是网络营销?
·网站导航与网站地图有什么区别和联系?
·动态网页的网站设计时应注意哪些问题?
·如何决定网站建设采用动态网页还是静态网页?
·什么是动态网页?动态网页有哪些特点?
·什么是静态网页?静态网页有哪些特点?

Java数据库编程中的几个常用技巧

文章来源:网站技术 文章编辑:admin 添加时间:2008-11-24 10:08:12

java数据库操作基本流程

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

  可滚动、更新的记录集

  批量更新

  事务处理 

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

  1、取得数据库连接

  1)用DriverManager取数据库连接

  例子:

String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd); 

  2)用jndi(java的命名和目录服务)方式

  例子

String jndi = "jdbc/db";
Context ctx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection cn = ds.getConnection(); 

  多用于jsp中

  2、执行sql语句

  1)用Statement来执行sql语句

String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 执行数据查询语句(select)
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); 

  2)用PreparedStatement来执行sql语句

String sql;
sql = "insert into user (id,name) values (?,?)";
PreparedStatement ps = 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、创建可滚动、更新的Statement

Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY); 

  该Statement取得的ResultSet就是可滚动的

  2、创建PreparedStatement时指定参数

PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet.absolute(9000); 

  批量更新

  1、Statement

Statement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch() 

  一个Statement对象,可以执行多个sql语句以后,批量更新。这多个语句可以是delete、update、insert等或兼有

  2、PreparedStatement

PreparedStatement ps = cn.preparedStatement(sql);
{
 ps.setXXX(1,xxx);
 ...
 ps.addBatch();
}
ps.executeBatch(); 

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

  事务的处理

  1、关闭Connection的自动提交

cn.setAutoCommit(false); 

  2、执行一系列sql语句

  要点:执行每一个新的sql语句前,上一次执行sql语句的Statement(或者PreparedStatemet)必须先close

Statement sm ;
sm = cn.createStatement(insert into user...);
sm.executeUpdate();
sm.close();

sm = cn.createStatement("insert into corp...);
sm.executeU 
pdate();
sm.close(); 

  3、提交

cn.commit(); 

  4、如果发生异常,那么回滚

cn.rollback(); 

[ ]

首页 评论 打印 刷新 返回顶部 关闭
【相关文章】  【相关评论】
Java连接Sybase数据库
JDBC连接各种数据库方法
动态网页技术--CGI:ASP:JSP:PHP(3)