mybatis数据库和实体类的映射?

时间:2021-05-26 17:42:48
用mybatis-generator-core-1.3.2.jar这个生成的java bean没有多表关联关系...比如User表里边的role_id 就变成了生成的User实体类中的一个字段role_id了,而不是一个Role对象,上网搜了搜资料说mybatis-generator只能做单表查询。。。这个意思就是还要修改mybatis-generator-core-1.3.2.jar生成的代码了。
实际开发中,都是怎么对应实体类呢?难道不用mybatis-generator-core-1.3.2.jar这个工具,自己手动code出mapper bean类吗?

2 个解决方案

#1


mybatis没必要做关联关系映射~又不是hibernate~ 反正是自己写SQL~  直接定义成基本类型的成员变量更方便一些~

#2


引用 1 楼 wlwlwlwl015 的回复:
mybatis没必要做关联关系映射~又不是hibernate~ 反正是自己写SQL~  直接定义成基本类型的成员变量更方便一些~


第一次接触mybatis 感觉总结了方法有三种:
1 自己定义的实体类映射实际业务逻辑的对象,但是要手动编写 resultMap 和实体类,感觉和hibernate差不多了,感觉很麻烦。
2 通过mybatis-generator生成代码后 直接在自动生成的实体类中增加关联对象,还是要手动编写resultMap文件,少量修改实体类,但是将会造成role_id和Role类共存的奇怪情况。。。
3通过mybatis-generator生成代码后,不做任何修改,在重新定义VO类,这样在service层写关联查询然后set对象。
个人感觉第一种前期底层工作量也不小但是后期效率性能高方便,第三种也有一定的工作量可是性能效率可能不如第一种,第二种方法很奇葩不规范就算了。
习惯了hibernate那种建好表或者建好实体类后迅速脱离底层直接开展业务逻辑工作的思维,现在出现了各种不适应啊。。
。。。mybatis要是能更智能一点就好了,不过那样的话它就是另一个hibernate了。。。

#1


mybatis没必要做关联关系映射~又不是hibernate~ 反正是自己写SQL~  直接定义成基本类型的成员变量更方便一些~

#2


引用 1 楼 wlwlwlwl015 的回复:
mybatis没必要做关联关系映射~又不是hibernate~ 反正是自己写SQL~  直接定义成基本类型的成员变量更方便一些~


第一次接触mybatis 感觉总结了方法有三种:
1 自己定义的实体类映射实际业务逻辑的对象,但是要手动编写 resultMap 和实体类,感觉和hibernate差不多了,感觉很麻烦。
2 通过mybatis-generator生成代码后 直接在自动生成的实体类中增加关联对象,还是要手动编写resultMap文件,少量修改实体类,但是将会造成role_id和Role类共存的奇怪情况。。。
3通过mybatis-generator生成代码后,不做任何修改,在重新定义VO类,这样在service层写关联查询然后set对象。
个人感觉第一种前期底层工作量也不小但是后期效率性能高方便,第三种也有一定的工作量可是性能效率可能不如第一种,第二种方法很奇葩不规范就算了。
习惯了hibernate那种建好表或者建好实体类后迅速脱离底层直接开展业务逻辑工作的思维,现在出现了各种不适应啊。。
。。。mybatis要是能更智能一点就好了,不过那样的话它就是另一个hibernate了。。。