bboss数据库标签系列一 分页列表详细信息标签预编译sql查询数据

简介: 本系列文章详细介绍bboss标签库的数据库标签具体使用方法,涉及到的功能包括: db查询(普通查询、预编译查询,分页查询),db新增、修改、删除、批处理操作(预编译)。 bboss数据库标签系列一 分页列表详细信息标签预编译sql查询数据 beaninfo标签,pager标签,list标签预编译sql获取数据功能相关属性和标签: sqlparamskey-指定将绑定变量参数存储在request 属性集中的变量名称,以便pager,beaninfo,list标签获取sql的绑定变量参数值。
本系列文章详细介绍bboss标签库的数据库标签具体使用方法,涉及到的功能包括:
db查询(普通查询、预编译查询,分页查询),db新增、修改、删除、批处理操作(预编译)。


bboss数据库标签系列一 分页列表详细信息标签预编译sql查询数据
beaninfo标签,pager标签,list标签预编译sql获取数据功能相关属性和标签:
sqlparamskey-指定将绑定变量参数存储在request 属性集中的变量名称,以便pager,beaninfo,list标签获取sql的绑定变量参数值。本节详细介绍如何直接通过预编译sql语句来实现数据展示。
1   详细信息Beaninfo标签
<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*,java.util.List" errorPage=""%>

1.1 导入标签定义文件

<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>

<!--
    测试在beaninfo标签上直接执行预编译查询操作,获取详细信息实例
    statement:数据库查询语句
    dbname:查询的相应数据库名称,在poolman.xml文件中进行配置
-->
1.2 定义预编译sql语句

<%
    String table_name="td_sm_user";
    String statement="select * from tableinfo where table_name=${table_name} " ;
    
%>

其中${table_name}为绑定变量,其值将由<pg:sqlparam标签来设定


<html>
<head>
<title>测试在beaninfo标签上直接执行数据库,获取详细信息实例</title>
</head>
<body>
 

    <table>

1.3 通过sqlparams和sqlparam标签指定预编译绑定变量信息

       <pg:sqlparams sqlparamskey="key" pretoken="//$//{" endtoken="//}">

              <pg:sqlparam name="table_name" value="<%= table_name %>" type="string"/>

                  
       </pg:sqlparams> 

Sqlparams标签: sqlparamskey属性用来在request中存放这些绑定变量信息,pretoken="//$//{" endtoken="//}"分别指定了变量的定义前界符和后分界符。
Sqlparam指定了变量table_name的值以及类型为string,table_name必须和sql语句:
select * from tableinfo where table_name=${table_name}中的${table_name}一致。
1.4 Beaninfo标签上执行预编译查询Statement指定预编译sql语句,sqlparamskey指定通过key属性从request中获取预编译参数绑定变量集


      
<pg:beaninfo statement="<%=statement %>" 

              dbname="bspf"

               sqlparamskey="key">

       
           <tr class="cms_data_tr" id="<pg:cell colName="table_name" defaultValue=""/>">

              <td>
                  table_name:
              </td> 
              <td>
                  <pg:cell colName="table_name" defaultValue=""/>

              </td> 
              <td>
                  table_id_name:
              </td>
              <td>
                  <pg:cell colName="table_id_name" defaultValue="" />

              </td>
              <td class="tablecells" align=center height='30' width="5%">

                  table_id_value:
              </td>  
              <td class="tablecells" align=center height='30' width="5%">

                  <pg:cell colName="table_id_value" defaultValue=""/>

              </td>  
           </tr>
       </pg:beaninfo>





2 列表展示list标签
<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*,java.util.List" errorPage=""%>

2.1 导入标签定义文件

<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>

<!--
    测试在list标签上直接执行 预编译数据库操作,获取列表信息实例
    statement:数据库预编译查询语句
    dbname:查询的相应数据库名称,在poolman.xml文件中进行配置
-->


2.2 定义预编译sql语句

<%
    String TABLE_ID_TYPE="int";
    String statement="select * from tableinfo where TABLE_ID_TYPE=${TABLE_ID_TYPE} order by table_id_value desc" ;
    
%>

其中${TABLE_ID_TYPE}为绑定变量,其值将由<pg:sqlparam标签来设定


<html>
<head>
<title>测试在list标签上直接执行预编译数据库操作,获取分页列表信息实例</title>
</head>
<body>
 

    <table>

2.3 通过sqlparams和sqlparam标签指定预编译绑定变量信息

     
 <pg:sqlparams sqlparamskey="key" pretoken="//$//{" endtoken="//}">

              <pg:sqlparam name="TABLE_ID_TYPE" value="<%=TABLE_ID_TYPE %>" type="string"/>

                  
       </pg:sqlparams> 

Sqlparams标签: sqlparamskey属性用来在request中存放这些绑定变量信息,pretoken="//$//{" endtoken="//}"分别指定了变量的定义前界符和后分界符。
Sqlparam指定了变量TABLE_ID_TYPE的值以及类型为int,TABLE_ID_TYPE必须和sql语句:
select * from tableinfo where TABLE_ID_TYPE=${TABLE_ID_TYPE} order by table_id_value desc
中的${TABLE_ID_TYPE}一致。
2.4 list标签上执行预编译分页查询Statement指定预编译sql语句,sqlparamskey指定通过key属性从request中获取预编译参数绑定变量集

     
 <pg:list  id="testid" statement="<%=statement%>" sqlparamskey="key"

              dbname="bspf" isList="false" maxPageItems="5">

           <pg:header>
              <pg:title type="td" width="15%" className="headercolor" title="表名" sort="true" colName="table_name"/>

              <pg:title type="td" width="15%" className="headercolor"  sort="true" colName="table_id_name" title="表id名"/>
              <pg:title type="td" width="15%" className="headercolor"  sort="true" colName="table_id_value" title="表id值"/>            
           </pg:header>
           <pg:param name="table_name"/>

           <tr class="cms_data_tr" id="<pg:cell colName="table_name" defaultValue=""/>">

              <td> <pg:rowid offset="false" increament="1"/>

                  <pg:cell colName="table_name" defaultValue=""/>

              </td> 
              <td>
                  <pg:cell colName="table_id_name" defaultValue="" />

              </td>
              <td class="tablecells" align=center height='30' width="5%">

                  <pg:cell colName="table_id_value" defaultValue=""/>

              </td>  
           </tr>
       </pg:list>
       <tr><td><pg:rowcount id="testid"/></td><td colspan="2">yi

       <pg:index custom="true" id="testid"/>

       </td></tr>    
       
    </table>
</body>
</html>

3 分页展示pager标签
<%@ page contentType="text/html; charset=UTF-8" language="java" %>

3.1 导入标签定义文件
<%@ taglib uri="/WEB-INF/pager-taglib.tld" prefix="pg"%>

<!--
    测试在pager标签上直接执行预编译数据库操作,获取列表/分页信息实例
    statement:数据库查询语句
    dbname:查询的相应数据库名称,在poolman.xml文件中进行配置
   
-->

3.2 定义预编译sql语句
<%
    String object_id = "20"; 
    String sql = "select * from sqltest  where object_id=#[object_id] order by object_name";
 %>

其中#[object_id]为绑定变量,其值将由<pg:sqlparam标签来设定


<html>
<head>
<title>测试在pager标签上直接执行数据库操作,获取分页列表信息实例</title>
</head>
<body>
    <table>

3.3 通过sqlparams和sqlparam标签指定预编译绑定变量信息          
<pg:sqlparams sqlparamskey="key" pretoken="#//[" endtoken="//]">

              <pg:sqlparam name="object_id" value="<%=object_id %>" type="int"/>

           </pg:sqlparams>

Sqlparams标签: sqlparamskey属性用来在request中存放这些绑定变量信息,pretoken="#//[" endtoken="//]"分别指定了变量的定义前界符和后分界符。
Sqlparam指定了变量object_id的值以及类型为int,object_id必须和sql语句:
select * from sqltest  where object_id=#[object_id] order by object_name

中的#[object_id]一致。
3.4  Pager标签上执行预编译分页查询Statement指定预编译sql语句,sqlparamskey指定通过key属性从request中获取预编译参数绑定变量集
          
<pg:pager statement="<%=sql %>" 

                 dbname="bspf" 

                 isList="false" 

                 pager_infoName="pager_info11" 

                 sqlparamskey="key" >          

                 <%
                 System.out.println("pager_info11.getDataSize():" + pager_info11.getDataSize());
                 %>
                 <tr><td colspan="3"><pg:index/></td></tr>

           <pg:list >

           <%
                 System.out.println("pager_info11.getDataSize()2:" + pager_info11.getDataSize());
                 %>
              <tr class="cms_data_tr" id="<pg:cell colName="object_id" defaultValue=""/>">

                  <td>
                     <pg:cell colName="owner" defaultValue=""/>

                  </td> 
                  <td>
                     <pg:cell colName="object_id" defaultValue="" />

                  </td>
                  <td class="tablecells" align=center height='30' width="5%">

                     <pg:cell colName="object_name" defaultValue=""/>

                  </td>  
              </tr>
           </pg:list>
           <tr><td colspan="3"><br><br></td></tr>

           <%
                 System.out.println("pager_info11.getDataSize()1:" + pager_info11.getDataSize());
                 %>
           </pg:pager>
       
    </table>
</body>
</html>
目录
相关文章
|
5天前
|
SQL 存储 Oracle
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
|
12天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
76 6
|
4天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
5天前
|
SQL Oracle 安全
Oracle的PL/SQL循环语句:数据的“旋转木马”与“无限之旅”
【4月更文挑战第19天】Oracle PL/SQL中的循环语句(LOOP、EXIT WHEN、FOR、WHILE)是处理数据的关键工具,用于批量操作、报表生成和复杂业务逻辑。LOOP提供无限循环,可通过EXIT WHEN设定退出条件;FOR循环适用于固定次数迭代,WHILE循环基于条件判断执行。有效使用循环能提高效率,但需注意避免无限循环和优化大数据处理性能。掌握循环语句,将使数据处理更加高效和便捷。
|
5天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL条件控制:数据的“红绿灯”与“分岔路”
【4月更文挑战第19天】在Oracle PL/SQL中,IF语句与CASE语句扮演着数据流程控制的关键角色。IF语句如红绿灯,依据条件决定程序执行路径;ELSE和ELSIF提供多分支逻辑。CASE语句则是分岔路,按表达式值选择执行路径。这些条件控制语句在数据验证、错误处理和业务逻辑中不可或缺,通过巧妙运用能实现高效程序逻辑,保障数据正确流转,支持企业业务发展。理解并熟练掌握这些语句的使用是成为合格数据管理员的重要一环。
|
5天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL表达式:数据的魔法公式
【4月更文挑战第19天】探索Oracle PL/SQL表达式,体验数据的魔法公式。表达式结合常量、变量、运算符和函数,用于数据运算与转换。算术运算符处理数值计算,比较运算符执行数据比较,内置函数如TO_CHAR、ROUND和SUBSTR提供多样化操作。条件表达式如CASE和NULLIF实现灵活逻辑判断。广泛应用于SQL查询和PL/SQL程序,助你驾驭数据,揭示其背后的规律与秘密,成为数据魔法师。
|
9天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
9天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
33 3
|
12天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
41 0