如果使用字段映射功能

报表字段映射

报表模板设计完成后,模板所使用的表的结构可能因为某种原因会发生变化
比如:字段类型变更,甚至是字段名称发生了变化

这个时候如果我们刷新报表的数据源,那么这个字段就会从报表上消失
你需要将这些字段重新拖到报表的适当位置,
如果改动字段较多或者报表格式较为复杂,那么这也将是个烦琐的工作

其实使用字段的“映射”功能,可以在字段上做适当处理,而不影响模板内对象的变动
所谓映射就是将报表字段链接到其相应的数据库字段。

我们假设以下已完成的报表模板





因为某种原因表结构发生了变动
其中Record由数字型更改为文本型,StuName则更名为StuName2





此时进入水晶报表,重新验证数据库


水晶报表检测到数据库变动后会出现提示框,如果这时直接点确定,则模板中会损失发生更改的两个字段



 
 
不要点确定,直接在前一界面上,把“匹配类型”的勾点掉,此时“映射”按钮将变为激活状态
点界面左上角框内的Record,在点右上角框内的Record,再点映射按钮,就可以完成这映射了


 


 
同样的,可以将StuName和StuName2进行映射.

此时再点确定返回报表,发现结构已经变更为最新,但是模板的字段位置却保持不变
当然,StuName已经变更为StuName2了


 
==================
阿泰 20050601

转载于:https://www.cnblogs.com/chenyong677/archive/2008/10/10/1308156.html

### MyBatis ResultMap 字段映射失效解决方案 当遇到MyBatis的`ResultMap`字段映射失效的情况时,可以采取多种措施来解决问题。以下是几种常见的处理方式: #### 使用 `as` 关键字指定列别名 如果数据库表中的字段名称与实体类属性名称不一致,则可以在SQL语句中使用`AS`关键字为查询字段设置别名,使其与Java对象的属性相匹配[^3]。 ```sql SELECT mgr_id AS id, mgr_name AS username, mgr_pwd AS password FROM t_managers WHERE mgr_id = #{id} AND mgr_pwd = #{pwd} ``` 通过这种方式能够确保返回的结果集可以直接映射到对应的POJO(Plain Old Java Object)上而不会丢失数据。 #### 验证命名空间和接口定义的一致性 对于类似`Invalid bound statement (not found)`这样的错误提示,通常是因为Mapper XML文件里的namespace配置有误或者是对应的方法签名不符合预期。确认`<mapper>`标签内的`namespace`属性值是否正确指向了相应的DAO/Repository接口全限定名;同时也要检查该接口下是否存在名为`selectAll`的方法声明[^2]。 #### 正确运用继承机制优化重复代码 针对父子级联结构下的`resultMap`设计模式而言,只有当子节点所关联的目标类型并非抽象类的情况下才能正常沿用父辈设定好的映射规则。因此,在实际开发过程中应当注意调整好层次间的依赖关系并合理规划各层之间的职责划分[^1]. #### 调试技巧分享 为了更高效地定位问题所在,建议开启日志记录功能以便观察执行期间产生的SQL语句以及参数传递情况。这有助于快速发现潜在隐患从而加快修复进度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值