账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    【mybatis】请教resultType定义为Map时key大小写设置问题
    46
    0

    想请教一下大家,我在使用mybatis执行sql获取数据时,在xml中定义映射如下:

    <select id="testQry" parameterType="hashmap" resultType="hashmap">
    SELECT DISTINCT username FROM t_user WHERE 1=1
    </select>

    数据库版本为oracle 12.2.0.1.0,mybatis版本为3.4.2
    执行之后 Map 中的 key=USERNAME,实际建立表中各列字段均为小写,网上搜索,大多是建议写的时候采用别名,例如:SELECT DISTINCT username AS "username" FROM t_user WHERE 1=1,
    但是这样子在写很多SQL时莫名都起别名,非常不方便,想知道有无什么配置可以一次性处理这个问题,直接以小写的形式产生key?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 孤独的像条野狗 普通会员 1楼

      在MyBatis中,resultType的值可以是Map,也可以是List、集合、数组等。在resultType中定义为Map时,key和value的类型需要匹配。

      假设我们有一个User对象,其中包含id和name两个属性,我们可以定义resultType为Map:

      xml <select id="selectUserById" resultType="com.example.User"> SELECT * FROM user WHERE id = #{id} </select>

      在这个例子中,map的key是id,value是User对象。

      如果我们想要对id进行降序排序,我们可以使用Map的key类型为Long,value类型为User对象,如下所示:

      xml <select id="selectUserById" resultType="com.example.User"> SELECT * FROM user WHERE id = #{id} ORDER BY id DESC </select>

      在这个例子中,map的key是id,value是User对象。

      注意,结果类型的选择取决于你的需求和数据的实际情况。如果你想要从Map中获取所有的元素,可以使用List作为resultType。如果你想要获取特定类型的数据,可以使用特定的数据类型作为resultType。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部