select RPAD(substring(b.Name,1,1),3,'*') as Name,a.NoteID as NoterID, a.Noter as Noter, a.Title as Title,
IFNULL(CONVERT(a.Body USING utf8), "") as "Body",
DATE_FORMAT(a.NoteTime,'%Y-%m-%d %H:%i:%s') as "CreateTime"
from T_SYS_NOTES as a join T_C_CUSTOMERS as b on a.Noter=b.CustomerID 
where 20121116140409 in(a.NoteID, a.ParentNoteID) and a.Status=0 and a.ParentNoteID not in (0)
union all
select "游客" as Name, a.NoteID as NoterID, a.Noter as Noter, a.Title as Title, 
IFNULL(CONVERT(a.Body USING utf8), "") as "Body", 
DATE_FORMAT(a.NoteTime,'%Y-%m-%d %H:%i:%s') as "CreateTime" 
from T_SYS_NOTES as a where 20121116140409 in(a.NoteID, a.ParentNoteID) 
and a.Status=0 and a.Noter is null and a.ParentNoteID not in (0) 
order by CreateTime asc limit 10;
这个语句能在数据执行并显示全部的字段,但是当我在action中打印时Name字段显示不出任何东西来,这是为什么,我用的mybatis的框架

解决方案 »

  1.   

    自己debug模式进去看看吧。
    既然sql可以查询出结果,看下你的list对象里面name是否有值!
      

  2.   

    打印list集合:[{Name=杨**, Noter=120914120222248}, 
     {Name=, NoterID=20121130092243}, 
     {Name=,NoterID=20121130155811}]结果就是这样的,Name字段没有值,但是我同样的语句在数据库里面执行,是有值的。
      

  3.   

    从dao层到service层,中间没任何数据处理,都是直接将由数据库获得的list<String,Object>集合返回。我直接在action层打印集合,结果如上述回答。我在jsp页面是用struts<s:iterator value="retList">标签遍历的
      

  4.   

    效率建议:不要用not in 用not exists
      

  5.   

    你这List<Map>,map中的属性怎么只有3个,按照sql不应该只有3个,你service层是不是对数据进行操作了,调试下!
      

  6.   

    配对是没问题的,打印出来list所有我想取的字段跟在数据库执行语句显示的字段一样的,唯一的不同就是数据库字段Name显示有数据的而在控制台打印出来没数据,我还想问一下会不会是我自己拼接的数据被mybatis框架屏蔽了,mybatis我第一次用,不是很懂!
      

  7.   

    Name是否是关键字,试改名字看看(如username之类)
      

  8.   

    LZ你的配置是否正确呢 
    我没有找到基础的 
    http://www.blogjava.net/alexprefect/articles/372967.html
    这个希望你对照下 看看自己问题
      

  9.   

    这个更合适一点
    http://www.cnblogs.com/wushiqi54719880/archive/2011/07/26/2117601.html