Mybatis 贴吧问答 第一期

来源:互联网 发布:java学生成绩录入 编辑:程序博客网 时间:2024/06/06 06:31

贴吧地址:http://tieba.baidu.com/f?kw=mybatis


Mybatis 贴吧问答 系列打算一个月总结一次网友提出的问题和答案,在Mybatis贴吧凡是经过提问者确认过答案的问题最后都会加精,在精品贴的【解决问题】中可以看到所有这些内容。


Mybatis 贴吧问答 第一期


第一帖:新人求解问题哦,被卡了两天了,悲伤........

我有一个json格式的数据String s=[{"sortname":"id","sort":"desc"},{"sortname":"type","sort","asc"}]
我有一个json格式转换的函数 List<Map> sortersList=(List) JsonUtils.toBean(s, List.class);
大家就不要管怎么转换的了,主要是这个格式List<Map>然后就有问题了
Map map=new HashMap(); map.put("sorters",sortersList); map.put("start",0); map.put("limit",5);
我将这个map通过service传入到service.xml文件中进行动态sql的拼写。
select * from table t 
<if test="sorters != null">
order by
<foreach collection="sorters" index="index" item="item" separator=",">
这里该怎么写啊?????????????
这里的遍历的是一个list集合,里面的内容Map类型,而楼主要的是map类型里面的sortname和sort 组合成 id desc 进行自定义的colnum排序,这个破问题折腾我好几天了,百度google 都翻遍了,气死我了。。。。。。。跪求大神解决啊,下辈子做牛做马,我也给你喂草吃!!!!!!!!!
</foreach>
</if>

答案:#{item.sortname} #{item.sort}

特别说明一下:该答案被确认过,但是实际在写order by 的时候,经常使用${property}这种方式。


第二贴:求救啊,关于Mybatis insert 返回影响行,和返回...

原内容太长,详细请看:http://tieba.baidu.com/p/2910619720

这个帖子说的是selectKey的情况,如果有selectKey方面的问题,可以参考该贴,同时可以参考:http://blog.csdn.net/isea533/article/details/21153791


第三贴:Mybatis的typeAliases有什么作用?

该贴地址:http://tieba.baidu.com/p/2946768166

帖子中队该问题(以及另一个问题)进行了回答。实际上如果你会问出这样的问题,你首先应该把这里看完:http://mybatis.github.com/mybatis-3/zh/index.html

Mybatis的文档虽然不是100%的全面,但是他也覆盖了很多内容,如果真心想用Mybatis,一定要把这个文档看一遍,遇到问题还可以反复看。


第四贴:mybatis实体映射问题,求助

该贴地址:http://tieba.baidu.com/p/2945031708

我有这样一个需求:


数据库字段A,B,C,D 映射实体中有 A,B,extensMap(Map),现在需要将A,B存到实体,C,D存到Map里面。


不知道mybatis有没有解决方案,或者有可以配置的地方 


希望大家能给点建议,谢谢!

答案:原帖写的很多,请到贴吧查看。

这里做个简要的说明:如果你对Mybatis了解的越多,你处理不同问题的策略越多,Mybatis是一个很值得深入了解的框架。

如果你想深入了解Mybatis,这里有三个方法,一是去github下载源码查看,二是把Mybatis源码中的单元测试看看。三是关注Mybatis专栏:Mybatis示例,这些示例都是出自Mybatis的单元测试,以这些测试为基础上进行了讲解,通过单元测试来了解Mybatis。


第五贴:<foreach>标签问题

问:现有一条查询语句,传参数为entity,entity有属性Map map,map.put("list",List list),请问怎么在<foreach>标签中取出list

答:第一个foreach取map,用if判断key,然后对item再次foreach就可以了。



Mybatis贴吧是一个很少人光顾的地方,如果你有问题,可以去贴吧发帖也可以在此留言。通过解决Mybatis的问题,让我们一同进步。

2 0