使用技巧:简单介绍JSP数据库高级操作

来源:互联网 发布:电力行业数据挖掘 编辑:程序博客网 时间:2024/06/07 22:45
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>简单介绍JSP数据库操作的3个小技巧:数据排序,主/从表处理,事务处理。 1 数据排序 在数据库技术中,可以使用ORDER子句对查询结果进行排序 [ ORDER BY { order_by_exdivssion[ ASC | DESC]} [ ¸…n ] ] 其中,order_by_exdivssion用来指定要排序的列;ASC指定按递增顺序排列;DESC指定按递减顺序排序。 Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ).new Instance( );String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";String user="dxaw";String password="123";Connection conn=DriverManager.getConnection( url, user, password );Statement st=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE );String sql="select * from tbl order by id desc";ResultSet rs=st.executeQuery( sql );while( rs.next )...{ out.println( rs.getString( "..." ) );}rs.close( );st.close( );conn.close( ); 2 主/从表处理 实现主从表查询主要通过IN子句和EXISTS子句为实现。 IN子句是通过IN(或NOT IN)连接起来的一种检索数据的方法,其返回的结果集中可以包含零个或者多个值。 EXISTS子句是通过EXISTS(或NOT EXISTS)连接起来的一种检索数据的方法,它的功能是判断子查询的结果集中是否有数据行返回,返回TRUE或FALSE,而不返回其他的实际数据。由于不需要在这种子查询中返回具体值,这种子查询的选择列表经常使用“SELECT *”格式,其外层的WHERE子句也不需要指定列名。 select au_id, au_name form authors where au_id IN ( select au_id form titleauthor where title_id IN ( select title_id form titles where type="business")) 3 事务处理 事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚(回到最初的系统状态)。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。持久性表示已提交的数据在事务执行失败时,数据的状态都应该正确。 在JDBC中怎样将多个SQL语句组合成一个事务呢?在JDBC中,打开一个连接对象Connection时,缺省是auto-commit模式,每个SQL语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个SQL语句组合成一个事务,要将auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不调用commit()方法,SQL语句不会得到事务确认。在最近一次commit()方法调用之后的所有SQL会在方法commit()调用时得到确认。 public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try {  con.setAutoCommit(false);// 更改JDBC事务的默认提交方式  dbc.executeUpdate("delete from tab1 where ID=" sID);  dbc.executeUpdate("delete from tab2 where ID=" sID);  dbc.executeUpdate("delete from tab3 where bylawid=" sID);  con.commit();//提交JDBC事务  con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式  dbc.close();  return 1; } catch (Exception exc) {  con.rollBack();//回滚JDBC事务  exc.printStackTrace();  dbc.close();  return -1; }}
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 简易花边画法 简易版鱼香肉丝 简易意大利面家常做法 鸡翅家常简易做法 简易蛋糕裱花 简易版蒸蛋糕 幼儿飞机简易画法 蜂蜜柚子茶简易做法 1一10数字简易卡通图片 学生简易丸子头 简易麻婆豆腐 桂花酒简易制作方法 1一10数字简易画 小白兔简易画法 简易手工制作大全 简易画画大全 简易腌制白萝卜10分钟 小孔成像简易制作 五角星简易画法步骤 4步简易折纸花步骤 飞机简易画法 懒人茶叶蛋简易做法 简易一笔签名 简易的反义词 简易的近义词 简易衣柜哪个牌子好 小型简易升降机 简易活动房屋 简易货梯厂家 简易钢结构厂房 简易钢结构房 简易呼吸机价格 简易无土栽培技术 小型简易升降平台 简易实木衣柜 简易淋浴房价格 简易文件管理 出租房简易装修 简易屏风隔断 简易海报制作 简易房多少钱