- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Class.forName(oracle.jdbc.driver.OracleDriver);
Connection conn = DriverManager.getConnection(jdbc:oracle:thin:@:1521:orcl,xxxx,pppp);
con.setAutoCommit(false);
try
{
Statement stat = conn.createStatement();
stat.addBatch( insert into xsyse(name,age) values(aaaa,15));
stat.addBatch(into pppp(xxx,yyy) values(bbbb,347));
stat.executeBatch();
mit();//提交
}catch(SQLException ex)
{
con.rollback();
}
Java数据库操作基本流程:
取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接
1、取得数据库连接
1)用DriverManager取数据库连接
例子
String className,url,uid,pwd;
className = oracle.jdbc.driver.OracleDriver;
url = jdbc:oracle:thin:@: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),返回当前游标下某个字段的值
4、释放连接
cn.close();
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection
几个常用的技巧:
·可滚动、更新的记录集
1、创建可滚动、更新的Statement
Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);
该Statement取得的ResultSet就是可滚动的
2、创建PreparedSt
您可能关注的文档
最近下载
- 2025年数字化农场管理方案研究项目可行性研究报告.docx
- 幼儿园社会治安最小应急单元管理制度.docx VIP
- PPT《建筑电气与智能化通用规范》GB 55024-2022 解读(OCR).pdf VIP
- 2025下半年教师资格考试新版试卷真题附答案(高中信息技术).docx VIP
- 生理学基础第十章-神经系统.ppt VIP
- ABB ACS180 drives User interface guide 手册(英语)说明书.pdf
- 驳岸工程施工方案.pdf VIP
- 股权激励变成股权纠纷通用.pdf VIP
- 南芯产品规格书SC8886.pdf VIP
- 胃食管反流病中西医结合诊疗专家共识(2025年).pptx VIP
原创力文档


文档评论(0)