主要原因

  1. 性能考虑:字段访问通常是通过直接的 getter 和 setter 方法,通常会比通过 Map 访问键值对要高效,因为 Map 需要对键进行哈希运算并进行查找,性能上可能较差。
  2. 团队开发和长期维护
  3. 代码清晰度和维护性
  4. 数据类型校验和编译期错误处理,类型安全
  5. 面向对象思想

优缺点

  • Map的优点强于JavaBean,易于扩展,耦合度低
  • 写起来简单,代码量少
  • 如果持久层是mybatis,查询的返回结果本身就是Map
  • 缺点:不能一眼看出Map中有哪些参数,不易于维护