仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1421|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA网站制作之java 数据库基础操纵

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:39:04 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。数据|数据库java数据库基础操纵
1、java数据库操纵基础流程
2、几个经常使用的主要技能:
可转动、更新的纪录集
批量更新
事件处置

java数据库操纵基础流程:获得数据库毗连-实行sql语句-处置实行了局-开释数据库毗连
1、获得数据库毗连
1)用DriverManager取数据库毗连
例子
StringclassName,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);
Connectioncn=DriverManager.getConnection(url,uid,pwd);
2)用jndi(java的定名和目次服务)体例
例子
Stringjndi="jdbc/db";
Contextctx=(Context)newInitialContext().lookup("java:comp/env");
DataSourceds=(DataSource)ctx.lookup(jndi);
Connectioncn=ds.getConnection();
多用于jsp中

2、实行sql语句
1)用Statement来实行sql语句
Stringsql;
Statementsm=cn.createStatement();
sm.executeQuery(sql);//实行数据查询语句(select)
sm.executeUpdate(sql);//实行数据更新语句(delete、update、insert、drop等)statement.close();
2)用PreparedStatement来实行sql语句
Stringsql;
sql="insertintouser(id,name)values(?,?)";
PreparedStatementps=cn.prepareStatement(sql);
ps.setInt(1,xxx);
ps.setString(2,xxx);
...
ResultSetrs=ps.executeQuery();//查询
intc=ps.executeUpdate();//更新

3、处置实行了局
查询语句,前往纪录集ResultSet
更新语句,前往数字,暗示该更新影响的纪录数
ResultSet的办法
1、next(),将游标今后挪动一行,假如乐成前往true;不然前往false
2、getInt("id")或getSting("name"),前往以后游标下某个字段的值

4、开释毗连
cn.close();
一样平常,先封闭ResultSet,然后封闭Statement(大概PreparedStatement);最初封闭Connection


可转动、更新的纪录集
1、创立可转动、更新的Statement
Statementsm=cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);
该Statement获得的ResultSet就是可转动的
2、创立PreparedStatement时指定参数
PreparedStatemetps=cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet.absolute(9000);
批量更新
1、Statement
Statementsm=cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()
一个Statement对象,能够实行多个sql语句今后,批量更新。这多个语句能够是delete、update、insert等或兼有
2、PreparedStatement
PreparedStatementps=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
Statementsm;
sm=cn.createStatement(insertintouser...);
sm.executeUpdate();
sm.close();

sm=cn.createStatement("insertintocorp...);
sm.executeUpdate();
sm.close();

3、提交
cn.commit();
4、假如产生非常,那末回滚
cn.rollback();



先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。
深爱那片海 该用户已被删除
沙发
 楼主| 发表于 2015-6-27 22:43:37 | 显示全部楼层
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-18 06:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表