Spring+Mybatis 三种查询映射方式

今天主要跟大家介绍下Spring+mybatis的几种映射方式

这里介绍的是接口+xml映射文件的使用,其它请下去另查

     映射的三种方法

                    1.关联关系全部用map映射文件写,这个是最慢的方式,不推荐

                              2.写对应结果查询的VO类,无需担心是多个还是一个,只要字段对应上就可以了

                              3.直接返回map类,这样都可以不定义实体类,非常方便



        如下所示:

                       接口:public UserPri getPri(int userId);      //第一种 写map映射文件的方式

                              // public List<Map> getPri(int userId);   //第三种map方式

                              // public List<PrivliegeVO> getPri(int userId);     //第二种VO类方式


                       mapper  xml文件的配置

                        <select id="getPri" parameterType="int" resultType="map">

                        //这个是直接map的方法  ,第三种map方式

                      

                       sql   语句的书写

                         select user.id,user.username,user.password,role.name as role_name,module.name as  

                         module_name,module.url,acl.aclState ;
                         from t_user user,t_usersroles userrole,t_role role,t_acl acl,t_module module

                         where user.id=userrole.user and user.id=#{userId} and userrole.role=role.id and    

                         acl.principalSn=role.id and acl.resourceSn=module.id;

                          

第二种 VO类查询方式

先自定义一个实体,这里我名字起了为PrivilegeVO  属性名注意:你想要哪些表字段的值,都可以直接成为这个VO类的属性.





 第一种map映射文件





这里有一个问题.如果使用第一种方法,如果两个或多个数据库表名的字段名一致,会导致其他的相同字段名的值会被最早查出来的覆盖掉,并且就是用别名方法结果也会是这样,这个解决方案暂时还没有解决,实在不行就改数据库表的字段名吧,或者在研究研究.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值