莫相离 发表于 2015-1-18 11:16:23

JAVA网页设计专家为您详解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(j2ee)与这些框架混在了一起。

只想知道 发表于 2015-1-20 19:06:29

Java 编程语言的风格十分接近C、C++语言。

深爱那片海 发表于 2015-1-25 11:32:39

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

变相怪杰 发表于 2015-2-2 21:55:11

是一种使网页(Web Page)产生生动活泼画面的语言

飘飘悠悠 发表于 2015-2-7 13:45:31

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

再现理想 发表于 2015-2-9 23:29:11

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

若天明 发表于 2015-2-28 05:36:15

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

再见西城 发表于 2015-3-7 08:09:40

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

第二个灵魂 发表于 2015-3-9 20:38:17

是一种将安全性(Security)列为第一优先考虑的语言

谁可相欹 发表于 2015-3-17 00:48:55

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

小女巫 发表于 2015-3-23 10:06:25

是一种使用者不需花费很多时间学习的语言
页: [1]
查看完整版本: JAVA网页设计专家为您详解JAVA数据库基础操纵