社区
Web 开发
帖子详情
用mybatis可以对象的属性比对应数据库字段要多吗?
windforce89
2019-05-13 11:36:28
哈罗,现在我有一个比较怪的需求。
需求是这样的,前提条件是数据库不能动,不能增加字段什么的。表里有两个字段a和b , 现在前端需要根据这两个字段的值,在返回数据对象中再增加一个属性c.
网上一搜有很多“实体类中字段和数据表字段不对应”的文章,但是基本上都是数量一致,只是名字不一致的问题。 现在我这情况是对象中要多出来字段,而且要求分页,有什么方法处理啊?
...全文
2493
5
打赏
收藏
用mybatis可以对象的属性比对应数据库字段要多吗?
哈罗,现在我有一个比较怪的需求。 需求是这样的,前提条件是数据库不能动,不能增加字段什么的。表里有两个字段a和b , 现在前端需要根据这两个字段的值,在返回数据对象中再增加一个属性c. 网上一搜有很多“实体类中字段和数据表字段不对应”的文章,但是基本上都是数量一致,只是名字不一致的问题。 现在我这情况是对象中要多出来字段,而且要求分页,有什么方法处理啊?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
安优小青和他的程序生活
2019-05-14
打赏
举报
回复
1
mabatis和实体对象关联的类,可以和你给前端提供数据的类不是一个类,后者你可以继承前者去实现就ok
无非是你查询出来数据以后,重新封装一下给前端。
getdate
2019-05-14
打赏
举报
回复
这种情况,说怪不怪. 其实像这种需求,有很多种实现方式. 1:你可以在视图类中新增一个字段,用来存放他们的结果; 2:你可以在页面直接用a,b两个字段计算,然后用于显示. 3:如果只是要显示计算后的记过,那你直接可以在数据库中计算好,然后直接获取结果并显示.
nayi_224
2019-05-13
打赏
举报
回复
实体类跟数据库本来就没有物理上的联系,5个字段的表查出10列时常有的事。 mybatis实际做的是结果集的列的别名和实体类做的映射。该怎么写还怎么写。
对梦想的牵挂
2019-05-13
打赏
举报
回复
返回对象的字段数量可以根据前端的需要增加, 不过需要自己做处理,不能从数据库中查询出来,毕竟不是数据库里面的表字段。 分页可以自己封装一个分页的类,因为是Mybatis可以尝试使用PageHelper
freekaiQaQ
2019-05-13
打赏
举报
回复
可以的呀。 实体类中可以多出来字段。(你在*dao.xml sql中通过算法给你新增的字段的属性赋值、或者是查询后 返回到前台前 给对象中新增的字段赋值就可以了)
mybatis
-generator-core-1.3.2
可以使用这个工具自动根据表生成相应的实体类、Dao类以及
MyBatis
配置文件。
Mybatis
当实体
属性
与
数据库
字段
不一致时的解决方案
使用
Mybatis
的时候,
Mybatis
根据
数据库
的
字段
找到
对应
实体类的
属性
,通过set方法对
属性
进行注入。 我们可以对实体类的set方法进行测试,测试如下: 执行结果如下: 说明:
Mybatis
会根据相同的
属性
和
字段
名通过set方法进行注入那如果实体类的
属性
名和
数据库
的
字段
名不相同呢?我们改动实体类的
属性
名,如下: 再次执行,结果如下: 可以发现,没有通过set方法进行注入,而且
Mybatis
实体类
属性
与
数据库
字段
的
对应
关系
方法四:resultType按照规则自动映射,按照是否开启驼峰映射自动映射
属性
和列名,只能映射一层结构.深层次的
对象
结构无法映射,多表查询的时候结果无法映射,此时可使用resultMap(自动映射)select t_id(
数据库
字段
) tId(类的
属性
), ... , ...from 表名。-- 开启驼峰映射
数据库
s_id java类 sId-->方法三:resultMap自定义映射(自定义映射)方法二:开启驼峰映射。
Mybatis
实体类
属性
和
数据库
字段
对应
关系总结
别名
对应
,全局配置自动映射,resultMap自定义映射关系
Mybatis
中的实体
属性
与
数据库
字段
的映射
写了几个项目,无一例外每个项目中都用到了
Mybatis
,但是由于
Mybatis
中的很多配置基本都是相同的或者大差不差的,因此平时使用过程中都是直接copy过来的,久而久之对于
Mybatis
中的配置尤其是关于
字段
的映射的存在感就会淡化,对于为什么直接在xml中resultType传过来一个实体类select之后就能自动封装上去并返回实体类的
对象
的问题,只会觉得是理所当然的,那么多项目中都是那么写的,并没有过多的思考。
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章