Sql 标记

  • Post author:
  • Post category:其他




用途





Sql




标记主要用于处理与数据库相关的操作在




<




Sql




>









</




Sql




>




标记之间可以插入任何





静态的




SQL




语句这些




SQL




语句将会被发送到数据库引擎中去并被执行同时




Sql




标记





还可以配合




SqlParam




标记一起使用创建动态的




SQL




语句




Sql




标记可以通过三种方式与





数据库系统建立连接第一种方式是直接使用现存的




JDBC Connection




对象





(java.sql.Connection




接口




)




第二种方法是使用




J2EE Data Source(javax.sql.DataSource)




对象





这是一个




JNDI




服务对象第三种方法是使用指定的




JDBC




数据库驱动程序与数据库服务的





URL




地址与数据库服务器建立连接这三种方法我们都会在下面的例子中涉及





Sql




标记可以包含在




Transaction




标记中这时




Sql




标记体内的操作被当作事务的一部





分执行这个事务中的操作一起被执行如果每一个操作都成功了那么所有的状态改变





都将成为事实如果有任何一个操作失败了那么整个操作就会失败这个事务所涉及的





状态的改变都不会起任何作用而保持原状





语法





<




sql









>





sql statement with optional




<




sqlparam









/>











</




sql




>





属性





connection




指定




Connection




对象的名称





id




执行




SQL




语句所返回的记录集的名字就是




id




属性的值如果执行




SQL




语句后不





返回任何有效的记录集那么这个属性将会被忽略





scope




该属性类似于




JavaBeans









Scope




属性可以取的值为




Page Session Request





Application










datasrc




指定数据源的名字该名字代表一个




JNDI




服务也就是说我们可以把数据





源作为一个




JNDI




服务发布在




datasrc




属性中指定这个




JNDI




服务的名字就可以访问此





数据源了





username




指定访问数据库所需要的用户名





password




指定访问数据库所需要的密码





driver




指定访问数据库所需要的驱动程序名例如




jdbc.odbc.JdbcOdbcDriver





url




指定数据源的标示例如




jdbc:odbc:test





TLD




文件





<




tag




>





<




name




>




sql




</




name




>





<




tagclass




>




allaire.taglib.SqlTag




</




tagclass




>





<




teiclass




>




allaire.taglib.SqlTei




</




teiclass




>





<




bodycontent




>




JSP




</




bodycontent




>





<




attribute




>





<




name




>




id




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




false




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




scope




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




false




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




driver




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




true




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




url




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




true




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




datasrc




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




true




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




connection




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




true




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




username




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




true




</




rtexprvalue




>





</




attribute




>





<




attribute




>





<




name




>




password




</




name




>





<




required




>




false




</




required




>





<




rtexprvalue




>




true




</




rtexprvalue




>





</




attribute




>





</




tag




>





用法示例





<%@








page








import




=”





java.sql.*”









%>





<%@








page








import




=





”javax.sql.*









allaire.taglib.




*”




%>





<%@








taglib








uri




=





“jruntags”









prefix




=





“jrun”









%>





<%





Class.forName(




“jdbc.odbc.JdbcOdbcDriver”




);





Connection con =DriverManager.getConnection(




“jdbc:odbc:test”




”sa” ””);





%>





<




jrun:sql








connection




=”




<%=




con




%>









id




=





“q1”





>





SELECT * FROM goods





</




jrun:sql




>





<




jrun:sql








driver




=





“jdbc.odbc.JdbcOdbcDriver ”









url




=





” jdbc:odbc:test”









id




=





“q2”






username




=





”sa”









password




=





””





>





SELECT * FROM goods





</




jrun:sql




>





<%– sql usesjava:comp/env/jdbc/dsn1 to lookup a datasource –%>





<




jrun:sql








datasrc




=





“dsn1”









id




=





“q3”





>





SELECT * FROM goods





</




jrun:sql




>





<%– you can enumerate theQueryTable by: –%>





<




jrun:param








id




=





“q3”









type




=





“QueryTable”





/>





<




jrun:foreach








item




=





“x”









group




=”




<%=




q3.Names




%>









>





<%=




x




%>




<




br




>





</




jrun:foreach




>





<




jrun:foreach








group




=”




<%=




q3




%>









>





<




jrun:foreach








item




=





“y”









group




=”




<%=




q3.Values




%>









>





<%=




y




%>




<




br




>





</




jrun:foreach




>





</




jrun:foreach




>





<%– OR –%>





<




jrun:param








id




=





“q3”









type




=





“QueryTable”





/>





<




jrun:foreach








group




=”




<%=




q3




%>









>





<%






int





count = q3.getColumnCount();






for





(





int





i = 0;i < count;i += 1)





{






%>





<%=




q3.get(i)




%>




<




br




>





<%





}





%>





</




jrun:foreach




>





<%– OR –%>





<




jrun:param








id




=





“q3”









type




=





“QueryTable”





/>





<%





while





(q3.next())





{






%>





<




jrun:foreach








item




=





“y”









group




=”




<%=




q3.Values




%>









>





<%=




y




%>




<




br




>





</




jrun:foreach




>





<%





}





%>





<%– OR if you want to usecolumn names… –%>





<




jrun:param








id




=





“q3”









type




=





“QueryTable”





/>





<




jrun:foreach








group




=”




<%=




q3




%>









>





<%=




q3.get(




“id”




)




%>




<




br




>





<%=




q3.get(




“lastname”




)




%>




<




br




>





<%=




q3.get(




“firstname”




)




%>




<




br




>





</




jrun:foreach




>





<%– OR if you want to usecolumn index… –%>





<




jrun:param








id




=





“q3”









type




=





“QueryTable”





/>





<




jrun:foreach








group




=”




<%=




q3




%>









>





<%=




q3.get(1)




%>




<




br




>





<%=




q3.get(2)




%>




<




br




>





<%=




q3.get(3)




%>




<




br




>





</




jrun:foreach




>





代码解释





在上面的实例中读者只需要了解




Sql




标记是如何与数据源建立连接的就可以了第





一种情况首先创建一个




Connection




接口的实例对象然后指定




Sql




标记的




connection










性的值为这个




Connection




对象第二种情况直接指定




Sql




标记的




driver




属性和




url




属性的










Sql




标记就利用这些信息与数据库建立连接第三种情况指定




datasrc




属性的值为




JNDI





服务名




dsn1 JSP




引擎会自动寻找




(lookup)




这个服务然后通过它来访问数据源与数据源





建立连接以后就可以把




SQL




语句发送到数据源中去执行的结果将会保存到一个记录集





对象中这个记录集对象的名字就是




Sql




标记




id




属性的值接下来就是利用各种方法把





记录集对象中的数据输出来这里用到了




ForEach




标记和




SqlParam




标记的功能我们将在






下面分别介绍这两个标记的功能。



。。。。。








http://www.57itsq.com/read.php?tid-1306.html