4
回答
jfinal 如果sql列名重复。怎么样设置不会覆盖?
终于搞明白,存储TCO原来是这样算的>>>   
SELECT
a.*, b.*
FROM
`A` AS a
LEFT JOIN B AS b on a.fid = b.fid;

此时查询出来的B表的fid会覆盖A表的fid(同列名被覆盖). 此时,我需要和数据库查询出来的结果一样。同名的别覆盖了。。(注明:我用的jfinal版本是2.2


举报
倩小冰
发帖于11个月前 4回/297阅
select 中用 as 即可打完收枪,例如  select a.id as aId, b.id as bId
--- 共有 2 条评论 ---
beastxiao自己动手适当修改源码即可,大家都还上班呢。。估计是没空按你的意思帮你改了。 11个月前 回复
倩小冰是这样的。现在的表结构呢。字段很多。是肯定不行的。。项目切换城jfinal,太多文件是这样写的了.还有页面的数据fid的绑定。(整个要改那得疯-_-) 有没有什么方法可以重写下。不覆盖呢. 11个月前 回复

引用来自“JFinal”的评论

select 中用 as 即可打完收枪,例如  select a.id as aId, b.id as bId
这个是正解,列名重复怪不得别人啊。jfinal(分页)查询的每条结果是放在map中的,列名作key,而map的key不能重复,自己改一下实现方式也行!
--- 共有 2 条评论 ---
一定是牛逼吹多了回复 @wbszs : 自动加1的方法不可取,可能造成以后的隐患!用多行编辑软件把列名复制出来可一下批量更改完所有行,提高效率。可用的sublime text或notepad++,IDEA也行。 11个月前 回复
倩小冰我没说这样错呀。只是项目中这种写法太多了。应该自动加1才对。我只是想问,有没有其他的解决办法. -_- 11个月前 回复

代码里用  select * from xxx 的,都要开除

必须明确指定列

--- 共有 2 条评论 ---
opal说明你做的项目不多,没用碰到复杂的情况 现实的项目不是简单的CRUD 11个月前 回复
小兵成长记扯淡,数据库设计的好,这样写完全是可以节省时间,不要浪费在写无用的代码上,性能上几乎不会有太大影响,除非你有full text字段 11个月前 回复
顶部