java pojo类的属性和表的字段要设计的一样吗

java pojo类的属性和表的字段要设计的一样吗?不一定说名字一模一样,就是是不是要一一对应

7个回答

如果名字不是一样的,比如数据库字段名时user_name,但是pojo的属性名是userName,你可以这样写:
@column(name="user_name")
private String userName;
也就是说在属性或者属性的方法上用注解标注一下其对应的数据库字段,不标注的话默认是和数据库一样的。

看你使用什么持久层框架,一般所有的持久层框架都会解决列名和属性名不一致的问题。因为很多系统无法保证两者完全一致。
比如在myBatis中,如果要填充的pojo属性和数据库列名完全一致,可采用resultType。如果出现不一致的情况下,系统并不会报错,只是pojo的属性会填充成null。
如果出现不一致的情况下怎么办呢?用reslutMap映射一下就解决了。
可以参考这篇文章《【MyBatis学习07】输出类型resultType及输出参数映射resultMap 》

MySQL的话一定要一样,否则报错。这个pojo类的成员变量,会去映射到数据库的字段的,要是不一样,那么这个字段该存到数据库的那个字段呢??

qq_27836205
Jordan裔 insert不是写了么 那个字段保存那个参数。。。。而且 你确定是mysql不是mybatis?我书读的少,但你不要骗我-_-
3 年多之前 回复

不用一 一对应的。顺序可以随便写。

pojo(简单的Java对象),不是必须的,需要手动去配置映射关系

qq_27836205
Jordan裔 mybatis保存记录到不同的表时 如何配置映射关系?
3 年多之前 回复

不需要一模一样,数据库列名在注解里指定的

就像一楼那样就可以了,不需要一模一样

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐