为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

java中连接数据库执行sql语句

2017-09-30 6页 doc 19KB 44阅读

用户头像

is_882336

暂无简介

举报
java中连接数据库执行sql语句java中连接数据库执行sql语句 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.2:1521:orcl","xxxx","pppp" ); con.setAutoCommit(false); try { Statement stat = conn.createStatement(); st...
java中连接数据库执行sql语句
java中连接数据库执行sql语句 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.2: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(); conn.commit();//提交 }catch(SQLException ex) { con.rollback(); } 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"),返回当前游标下某个字段的值 4、释放连接 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.executeUpdate(); sm.close(); 3、提交 cn.commit(); 4、如果发生异常,那么回滚 cn.rollback();
/
本文档为【java中连接数据库执行sql语句】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索