我写了一个IBATIS select 语句如下
<select id="query.company" parameterClass="com.myc.app.companyinfo.model.CompanyInfo" resultClass="java.util.HashMap">
<![CDATA[
select
$fields$
from
t_company_info tci
]]>
<dynamic prepend="where">
<isNotEmpty prepend="AND" property="seqTci">
tci.SEQ_TCI=#seqTci#
</isNotEmpty>
<isNotEmpty prepend="AND" property="nameCh">
tci.NAME_CH=#nameCh#
</isNotEmpty>
<isNotEmpty prepend="AND" property="nameEn">
tci.NAME_EN=#nameEn#
</isNotEmpty>
<isNotEmpty prepend="AND" property="logoPhoto">
tci.LOGO_PHOTO=#logoPhoto#
</isNotEmpty>
<isNotEmpty prepend="AND" property="introductionCh">
tci.INTRODUCTION_CH=#introductionCh#
</isNotEmpty>
<isNotEmpty prepend="AND" property="introductionEn">
tci.INTRODUCTION_EN=#introductionEn#
</isNotEmpty>
<isNotEmpty prepend="AND" property="establishDate">
tci.ESTABLISH_DATE=#establishDate#
</isNotEmpty>
<isNotEmpty prepend="AND" property="caddress">
tci.CADDRESS=#caddress#
</isNotEmpty>
<isNotEmpty prepend="AND" property="eaddress">
tci.EADDRESS=#eaddress#
</isNotEmpty>
<isNotEmpty prepend="AND" property="telephone">
tci.TELEPHONE=#telephone#
</isNotEmpty>
<isNotEmpty prepend="AND" property="fax">
tci.FAX=#fax#
</isNotEmpty>
<isNotEmpty prepend="AND" property="webAddress">
tci.WEB_ADDRESS=#webAddress#
</isNotEmpty>
<isNotEmpty prepend="AND" property="email">
tci.EMAIL=#email#
</isNotEmpty>
<isNotEmpty prepend="AND" property="cpFzr">
tci.CP_FZR=#cpFzr#
</isNotEmpty>
<isNotEmpty prepend="AND" property="fzrPhoto">
tci.FZR_PHOTO=#fzrPhoto#
</isNotEmpty>
<isNotEmpty prepend="AND" property="fzrTele">
tci.FZR_TELE=#fzrTele#
</isNotEmpty>
<isNotEmpty prepend="AND" property="zjlName">
tci.ZJL_NAME=#zjlName#
</isNotEmpty>
<isNotEmpty prepend="AND" property="zjlTele">
tci.ZJL_TELE=#zjlTele#
</isNotEmpty>
<isNotEmpty prepend="AND" property="cwName">
tci.CW_NAME=#cwName#
</isNotEmpty>
<isNotEmpty prepend="AND" property="cwTele">
tci.CW_TELE=#cwTele#
</isNotEmpty>
<isNotEmpty prepend="AND" property="wmName">
tci.WM_NAME=#wmName#
</isNotEmpty>
<isNotEmpty prepend="AND" property="wmTele">
tci.WM_TELE=#wmTele#
</isNotEmpty>
<isNotEmpty prepend="AND" property="companyType">
tci.COMPANY_TYPE=#companyType#
</isNotEmpty>
<isNotEmpty prepend="AND" property="hasJckjyPower">
tci.HAS_JCKJY_POWER=#hasJckjyPower#
</isNotEmpty>
<isNotEmpty prepend="AND" property="hasJmLicense">
tci.HAS_JM_LICENSE=#hasJmLicense#
</isNotEmpty>
<isNotEmpty prepend="AND" property="hasDwLicense">
tci.HAS_DW_LICENSE=#hasDwLicense#
</isNotEmpty>
<isNotEmpty prepend="AND" property="isHighTechCp">
tci.IS_HIGH_TECH_CP=#isHighTechCp#
</isNotEmpty>
<isNotEmpty prepend="AND" property="whLiquBank">
tci.WH_LIQU_BANK=#whLiquBank#
</isNotEmpty>
<isNotEmpty prepend="AND" property="creditStatus">
tci.CREDIT_STATUS=#creditStatus#
</isNotEmpty>
<isNotEmpty prepend="AND" property="isoInfo">
tci.ISO_INFO=#isoInfo#
</isNotEmpty>
<isNotEmpty prepend="AND" property="prizeInfo">
tci.PRIZE_INFO=#prizeInfo#
</isNotEmpty>
<isNotEmpty prepend="AND" property="regMoney">
tci.REG_MONEY=#regMoney#
</isNotEmpty>
<isNotEmpty prepend="AND" property="productMoney">
tci.PRODUCT_MONEY=#productMoney#
</isNotEmpty>
<isNotEmpty prepend="AND" property="taxMoney">
tci.TAX_MONEY=#taxMoney#
</isNotEmpty>
<isNotEmpty prepend="AND" property="jntz">
tci.JNTZ=#jntz#
</isNotEmpty>
<isNotEmpty prepend="AND" property="jwtz">
tci.JWTZ=#jwtz#
</isNotEmpty>
<isNotEmpty prepend="AND" property="rzType">
tci.RZ_TYPE=#rzType#
</isNotEmpty>
<isNotEmpty prepend="AND" property="deptNames">
tci.DEPT_NAMES=#deptNames#
</isNotEmpty>
<isNotEmpty prepend="AND" property="prodAreaType">
tci.PROD_AREA_TYPE=#prodAreaType#
</isNotEmpty>
<isNotEmpty prepend="AND" property="prodArea">
tci.PROD_AREA=#prodArea#
</isNotEmpty>
<isNotEmpty prepend="AND" property="officeAreaType">
tci.OFFICE_AREA_TYPE=#officeAreaType#
</isNotEmpty>
<isNotEmpty prepend="AND" property="officeArea">
tci.OFFICE_AREA=#officeArea#
</isNotEmpty>
<isNotEmpty prepend="AND" property="fzxz">
tci.FZXZ=#fzxz#
</isNotEmpty>
<isNotEmpty prepend="AND" property="fzyj">
tci.FZYJ=#fzyj#
</isNotEmpty>
<isNotEmpty prepend="AND" property="hasOa">
tci.HAS_OA=#hasOa#
</isNotEmpty>
<isNotEmpty prepend="AND" property="hasWb">
tci.HAS_WEB=#hasWb#
</isNotEmpty>
<isNotEmpty prepend="AND" property="isUseEp">
tci.IS_USE_EP=#isUseEp#
</isNotEmpty>
<isNotEmpty prepend="AND" property="hgCode">
tci.HG_CODE=#hgCode#
</isNotEmpty>
<isNotEmpty prepend="AND" property="cpZzjgdm">
tci.CP_ZZJGDM=#cpZzjgdm#
</isNotEmpty>
<isNotEmpty prepend="AND" property="cpZch">
tci.CP_ZCH=#cpZch#
</isNotEmpty>
<isEmpty prepend="and" property="state">
tci.STATE='1'
</isEmpty>
</dynamic>
order by tci.SEQ_TCI limit #start#,#pageSize#
</select>
其中的$fields$ 是动态的与用户权限有关,查询在页面显示时,不是报错就是要显示的列没有查询出来。
刚开始以为是缓存有问题,清空缓存后还是不行,后来在书上找了下原来是映射问题
在select 中加上
remapResults="true" 就可以了
分享到:
相关推荐
当数据库(这里是SQL Server 2000)中的字段名使用中文,并且PHP脚本(可能是UTF-8编码)尝试通过mssql扩展执行查询时,由于编码不匹配,可能会导致中文字段名在SQL语句中被解析为乱码,从而引发错误。PHP的mssql...
### SQL语句映射文件详解 #### 一、概述 SQL映射文件是MyBatis框架的核心组件之一,主要用于存放数据库操作的SQL语句。它不仅简化了开发过程中的SQL编写工作,还提供了灵活的数据访问层实现方式。通过将SQL语句与...
在描述的问题中,作者在尝试插入数据到`teacher`表时遇到了编程错误,因为`t_info`字段的值`result2`含有单引号,这破坏了SQL语句的结构。MySQL数据库解析SQL时,单引号用于定义字符串常量,如果在字符串内直接出现...
标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...
在运行时,一个注解处理器会解析这个注解,将SQL语句与提供的ID值合并,并执行查询。 7. **最佳实践**: - 尽量保持注解的简单和清晰,避免在注解中包含过于复杂的逻辑。 - 使用预编译的SQL语句以防止SQL注入...
本篇文章将深入探讨在Hibernate3中如何通过Native SQL查询部分字段,并将其映射到具体的Java对象上。这种方式在处理一些特定的、效率较高的SQL查询时非常有用。 首先,我们需要理解Hibernate中的`SQLQuery`接口,这...
- .hbm.xml文件是Hibernate理解Java对象与数据库表之间关系的桥梁,包含了实体类与数据库表的映射信息,如字段映射、关联关系、继承结构等。 - 自动生成的好处是减少了手动编写映射文件的工作量,降低了出错的可能...
在日常工作中,我们经常需要根据业务需求创建对应的数据库结构,这通常涉及到编写SQL语句来定义表的结构。在大型项目中,这种工作量可能会非常大,因此,自动化工具的使用可以显著提高效率。本主题将深入探讨如何...
在生成报表时,我们通常会使用SQL语句从数据库中检索数据,然后将这些数据映射到报表的各个字段上。SQL语句的灵活性使得我们可以根据需求查询任何必要的信息。 为了在Web Services中生成Excel或PDF文件,可以利用...
这里的`addScalar`方法指定了结果集中两个字段的名称和类型,而`setResultTransformer`则指定了结果转换方式,即将查询结果映射为`SumPlace`对象列表。 ##### 3. 执行查询并获取结果 ```java return (List) query1....
SQL语句是用于管理关系型数据库的标准语言,包括查询、插入、更新和删除数据等操作。实体类生成器会自动生成这些语句,使得开发人员可以快速地执行常见的数据库操作,而不必手动编写SQL代码。 该生成器的独特之处...
"自动生成SQL语句"是一个非常实用的技术,尤其对于开发者来说,它可以极大地提高工作效率,减少手动编写SQL时可能出现的错误。下面将详细介绍这个主题,并围绕"自动生成SQL语句"这一功能展开讨论。 首先,自动生成...
SQL语句是与数据库交互的基础,包括用于查询、插入、更新和删除数据的命令。手动编写SQL语句是一项繁琐的工作,尤其是在处理大量表和复杂的联接时。"实体+SQL语句生成器"能够根据数据库结构自动生成这些语句,使...
在Java的MyBatis框架中,SQL语句映射部分是整个ORM(对象关系映射)过程中的核心组件,它负责将SQL查询结果转化为Java对象。这篇教程将深入讲解SQL映射XML文件的编写,主要关注`resultMap`以及增删查改(CRUD)的...
当开发人员需要将数据库中的数据与应用程序交互时,他们通常需要手动编写C#类来映射SQL表结构,并创建相应的SQL语句来执行查询、编辑、删除和添加操作。这个工具——"(SQL、C#开发人员辅助工具)",就是为了解决这一...
标题中的“PDM转sql语句”指的是将PowerDesigner Model(PDM)转换为SQL语句,以便在MySQL数据库中使用。PDM是Sybase PowerDesigner的一个组件,它是一种强大的数据建模工具,用于设计和管理数据库的逻辑结构。...
2. 自动化生成SQL:一些ORM(对象关系映射)库,如Hibernate(Java)、SQLAlchemy(Python)、Entity Framework(C#)等,可以基于模型类自动构建SQL语句。它们会根据模型的属性生成INSERT、SELECT、UPDATE、DELETE...