本贴最后更新于 330 天前,其中的信息可能已经物是人非

Mybatis Generator

关闭驼峰命名

<table><property name="useActualColumnNames" value="false"/></table>默认开启

底层实现是这样的 将字段名全部小写 去除 _ _ 后第一个字母大写

  • 所以开启驼峰命名时
    user_name 会映射为 userName
    而 USERNAME 会映射为 username
  • 关闭驼峰命名时
    不会作修改 映射与字段名相同

    修改映射关系
    这哥们的意思好像时 userName 会被映射成 username
    (我这测试关闭后 userName 对应的就是 userName)
    先存着不亏

Mybatis 多表查询字段名重复

引入其他 Mapper 文件 (命名空间 +resultMapID)

<association property="xxx" javaType="xxx" resultMap="com.xxx.dao.xxxMapper.xxxResultMap">
  • 首先要知道重复的字段名
    当几张表多个字段重复时,如何快速知道哪些字段重复呢
    肉眼看?当每个表有几十个字段时不敢想象
    今天是这么解决的,navicat 下联表查询 重复的字段名会显示 xxx(2)
    这样只要把字段名扫一遍,就可以快速知道哪些字段名重复了

  • 知道了重复的字段后
    要将重复的字段取别名
    在 Mybatis 中 如果没有写成 A.,B. 而是直接 * 时
    是根据 from 后表的先后顺序来排的,当映射时,即使为 A 中的 name 起了别名
    B 中取 name 时依旧是取到 A 中的 name 底层大概是这样的,返回结果存在一个结构中
    A.name 比 B.name 靠前,当取值时最先找到 A.name 就不会去找 B.name 了
    所以不要给第一张表重复字段起别名

    这里表述的不是很清楚,当你遇到这个问题时再看应该很好理解


Mybatis-Generator 文档

感谢    关注    收藏    赞同    反对    举报    分享