x
//【MyBatis-Plus的常用注解 @TableField】
/*
问题: 在前面学的【@TableId注解的value属性】,解决了User类的id主键成员变量,跟数据库的uid主键不一致的问题。那么除了主键不一致,如果其它字段不一致呢,怎么解决
解决1: 如果数据库的字段跟实体类(例如User类)的命名刚好是一个下划线和另一个驼峰,那么MyBatis-Plus会自动帮我们解决
解决2: 在User类的name成员变量添加@TableField注解,作用是指定成员变量对应的数据库字段,例如@TableField("user_name")
####################################
模拟一下'解决1'的情况: 首先我们先去表里面,例如把name字段修改为user_name,同时去User类把原来的name成员变量修改为userName,此时User类的userName和数据库的user_name不一致
当然,此时MyBatisPlusTest的测试类会报错,我们把user.setName("张三")改为user.setUserName("张三"),然后就可以考虑如何解决不一致的问题
此时运行上面33行的zidingyi_testInsert方法,发现并没有报错
原因: MyBatis-Plus会自动把下划线转换成驼峰命名,例如user_name会被转换为userName,所以就间接帮我们转换成一致的了
####################################
模拟一下'解决2'的情况: 首先表里面的是user_name字段名,User类的是user成员变量
当然,此时MyBatisPlusTest的测试类会报错,我们把user.setUserName("张三")改为user.setName("张三"),然后就可以考虑如何解决不一致的问题
此时运行上面33行的zidingyi_testInsert方法,发现报错了
原因: MyBatis-Plus没有这种默认转换
解决: 在User类的name成员变量添加@TableField注解,作用是指定成员变量对应的数据库字段,例如@TableField("user_name")
*/