ibatis用数据库的表字段作参数,不起作用

ynynbgmwh 2011-01-03 01:09:12
需要是根据条件进行横向对比,可以根据名字或成绩或省份来进行分组查询:
select <isNotNull property="Group" > #Group:VARCHAR# as name, </isNotNull> count(*) as cnt from test t <isNotNull property="Group" >
group by #Group:VARCHAR# </isNotNull>
用log4j看出的
select ? as name, count(*) as cnt from test t group by ?
Parameters: [PROVINCE, PROVINCE]
结果是NAME=PROVINCE, CNT=5,相当把整个库里的数据量取出来了
想要的结果是
有两个省的
NAME=湖北, CNT=4
NAME=广东, CNT=1
是不是不支持ibatis这方面的机制


另外还发现select <isNotNull property="Group" > #Group:VARCHAR# as name, </isNotNull> count(*) as cnt from test t
如果第一次调用这语句的话,没有group属性,也就是SQL:select count(*) as cnt from test t,然后再次查询,又有group属性,但返回的还是select count(*) as cnt from test t,也就是结果map里面的KEY只有一个,就是根据第一次来,是不是第一次查询就初始化了?如果反着来,则是两个key
...全文
124 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cntaizi 2011-01-04
  • 打赏
  • 举报
回复
techcrunch每天回帖即可获得10分可用分!
tubage408 2011-01-04
  • 打赏
  • 举报
回复
select <isNotNull property="Group" > NAME as name, </isNotNull> count(*) as cnt from test t <isNotNull property="Group" >
group by NAME </isNotNull>
建议最好用上父元素dynamic
  • 打赏
  • 举报
回复
字段不能动态
ynynbgmwh 2011-01-04
  • 打赏
  • 举报
回复
第二个问题期待解决
ynynbgmwh 2011-01-04
  • 打赏
  • 举报
回复
第一个还真是这样。
[Quote=引用 3 楼 new_bird_0001 的回复:]
你的sql语句拿到数据库中也行不通的,你认为你给了一个字段名,其实数据库把它处理成字符串了,也就是这样:select 'PROVINCE',count(*) from 表 group by 'PROVINCE'
[/Quote]
new_bird_0001 2011-01-03
  • 打赏
  • 举报
回复
你的sql语句拿到数据库中也行不通的,你认为你给了一个字段名,其实数据库把它处理成字符串了,也就是这样:select 'PROVINCE',count(*) from 表 group by 'PROVINCE'
ynynbgmwh 2011-01-03
  • 打赏
  • 举报
回复
没人啊
通用管理框架正式版1.1源码 更新内容: 编译已有代码,建立测试服务器虚拟目录,上传编译文件,初始化角色信息,整理开会讨论的个性模块变动和需求 编写获取页面标题函数,编写页面模块导航函数 弹出消息框代码编写 设计发送/接收消息模块的数据结构 编写生成数据列和分页函数 发送/接收消息模块的数据层,业务逻辑层,现层和js代码的编写,根据最新需求修改编目参数模块 调整新数据结构和默认数据到测试服务器,上传新功能模块部分到测试服务器,外借参数设置模块数据层,逻辑层和现层以及js代码的编写 编写多查询,多字段排序的存储过程. 馆员登记各层代码 馆员权限设置 将菜单移至公共数据库LIBPUBCL ============================================================================================================== IBatisNet: IBatis.Net就是一个比较易用的ORM框架,使用起来较为方便、灵活。IBatis.Net是从Ibatis的Java版本移植过来的.NET版本。iBATIS 为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过 关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以方便以后的维护。 这个框架有两个主要的组成部分,一个是SQL Maps,另一个是 Data Access Objects。Sql Maps是这个框架的核心部分,通过使用Sql Maps你可以显著的节约数据库的代码量。SQL Maps使用一个简单的XML文 件来实现从实体到SQL statements的映射。使用DAO,封装了对数据的访问,你可以动态配置你的应用程序来访问不同的实体存储机制。隐藏持久性层 实现的细节,Data Access Objects允许你通过一个简单接口的来操数据。 系统功能说明 程序管理: 管理系统菜单数据,并对程序模块的权限进行定义,例如新增,编辑,审核等等操的权限 缓存管理: 管理系缓存数据,当系统中缓存的数据有变化时,需要清除缓存并重新生成 日志管理: 登记用户操系统的日志 角色管理: 管理系统角色信息,并可以对角色进行授权 用户管理: 管理系统用户信息,并可以定义用户所属的角色,部门,岗位,一个用户可以选择多个角色 部门管理: 管理系统部门信息 岗位管理: 管理系统岗位 在线用户: 查看当前登录系统的用户 参考界面: 代码生成器: 主界面: XML界面: 数据层界面: 业务层界面:

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧