小白,mybatis的实体类需不需要创建关系对象?

raw.z 2016-10-25 11:30:52
比如hibernate 生成的实体类会有set 和 别的实体对象,
mybatis 的实体类 映射关系是不是 都用id表示,然后需要关联对象时,通过id 查询得来?
...全文
613 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrj33x 2017-12-31
  • 打赏
  • 举报
回复

<select name="category.id" class="input w50">
<option value="">请选择分类</option>
<option v-for="item of category" :value="item.id">{{item.categoryName}}</option>

</select>

<select name="category.id" class="input w50">这样的话很好。
小灯光环 2016-10-28
  • 打赏
  • 举报
回复
引用 6 楼 a532960944 的回复:
@wlwlwlwl015 不写对象关系,都是基本类型,如果页面有地方需要显示关联表的信息,实体类中就一个基本类型的id,怎么把别的信息显示在页面上呢?
你的实体bean就要写冗余属性了~ 做成一个业务bean~ 跳出那种外键映射的逻辑~ mybatis的resultMap可以帮你一一对应好~比如: 学生表 id stuname classcode 班级表 id classcode classname hibernate会做一个@ManyToOne的多对一映射~ 实体也是严格按照数据库结构生成的,但是mybatis就不一样了~ 在mybatis中,你可以把实体定义为:Student(int id,String stuName,String classCode) 然后手写关联查询sql,在resultMap这样定义: <resultMap type="xxx.Student" id="studentInfo_res"> <result property="id" column="id"></result> <result property="stuName" column="stu_name"></result> <result property="classCode" column="class_code"></result> <resultMap> column和sql返回的别名一致就OK了~
raw.z 2016-10-27
  • 打赏
  • 举报
回复
@wlwlwlwl015 不写对象关系,都是基本类型,如果页面有地方需要显示关联表的信息,实体类中就一个基本类型的id,怎么把别的信息显示在页面上呢?
技术控_ 2016-10-26
  • 打赏
  • 举报
回复
感觉没啥必要,毕竟半自动框架.你可以使用联查返回map的形式来达到你的需求.
浮云若水 2016-10-26
  • 打赏
  • 举报
回复
不建议使用关联对象 hb都一般不建议使用 设置关联的时候 会影响sql查询效率 特别是在数据量大的情况下 关联对象导致查询很多不必要的字段信息 ,员工表中你只需要用到部门表中的部门名字,如果你使用关联对象,你会把部门表中的所有字段给查询出来,所以不建议,需要用到什么字段就查啥字段,别为了使用方便盲目添加关联信息
自由自在_Yu 2016-10-26
  • 打赏
  • 举报
回复
小灯光环 2016-10-26
  • 打赏
  • 举报
回复
不建议,mybatis本来就是手写sql的半自动化框架~不要搞hibernate那套关联关系映射~ 用基本数据类型就可以了~ 我们就是这样
nikyotensai 2016-10-26
  • 打赏
  • 举报
回复
楼主问的需不需要,你们基本答的基本都是建议不。 还是我好:不需要
### 技术选型: ###### 后端支持: 主体支持: **JDK1.8**、**Springboot1.4.2** 页面支持:**html** ORM支持: **mybatis3.2.8** ORM插件支持: **mapper3.3**、**PageHelp4.1** 分页 权限支持:**shiro1.2.5** 访问接口支持: **swagger2** JSON支持:**fastjson** 连接池支持:**druid** 缓存支持:**ehcache** 、**guava** 参数验证支持:**jsr303** web容器支持:**内嵌tomcat** maven支持:**maven3.3.9** maven仓库支持:**阿里云** 代码精简与日志支持: **lombok** ###### 前端支持: 主体支持:**jQuery** 风格支持:**layui** 图标支持:**font-awesome** 弹窗支持:**layer** websocket支持:**sockjs** 树结构支持:**ztree** ### 支持情况 1. 修改 **config/application-dev.properties** JDBC 链接属性。 2. tomcat 端口在 **config/application-dev.properties** 更改,默认**8082**。 3. 自动创建数据库,关闭请在配置文件找到 JDBC 链接删除 **&createDatabaseIfNotExist=true**。 4. 自动运行SQL脚本,关闭请注释掉 **spring.datasource.schema**。 5. 默认登录 **admin/admin** 6. 打印后台 SQL 语句。 (打开/关闭 注释该方法 com.zyf.framework.config.MybatisAutoConfiguration.pageHelper) 7. 切换配置文件 **application.properties** 设置参数 8. 访问`http://localhost:8082/api`可以查看项目的接口情况。(打开/关闭 com.zyf.other.api.config.SwaggerConfig)。 9. 使用 html,基本使用 ajax 异步请求,页面不刷新。 10. 基于 shiro 改造的 sso 单机实现,登录生成 token 存储在用户 cookies 中,请求解析 cookies,以解析成功作为标识。 11. 交互上使用 layui,使用第三方功能。 12. 热刷新实体 mapper.xml文件 MapperRefresh.java(打开/关闭 config/application-dev.properties -> mapper.mapper-refresh-enable: true/false) 13. 自动注册枚举到 mybatis,查询出来自动转换枚举。 14. 消息转换未配置,如果需要返回 map 自动转换成 UTF-8 json 及需要保证 JDK8 LocalDateTime 类日期的正确性,请打开 com.zyf.admin.support.config.WebConfiguration.configureMessageConverters 注释部分。 15. 采用 mapper3 pageHelper 插件,因此大部分通用 dao 层及 xml 都不比书写。 16. 后台基本使用 resultFull 风格,前端做的事情比较多。 17. 对象池测试 com.zyf.other.pool.test.RunTest#main ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧