springboot mybatis字段和类属性不一样
时间: 2023-08-08 11:01:29 浏览: 85
springboot+mybatis的读写分离
在使用Spring Boot和MyBatis框架时,有时候数据库表的字段名和Java类的属性名并不一样。
这种情况下,我们可以通过在Java类的属性上添加`@Column`注解来指定该属性与数据库表的字段的映射关系。例如,如果数据库表的字段名是`user_name`,而Java类的属性名是`userName`,可以在`userName`属性上添加`@Column(name = "user_name")`来映射它们的关系。
```java
@Column(name = "user_name")
private String userName;
```
另外,MyBatis也提供了一个`@Results`注解,可以用于定义查询结果的映射关系。在`@Results`注解中,我们可以使用`@Result`注解来指定数据库表字段名和Java类属性名之间的对应关系。例如,如果数据库表的字段名是`user_name`,而Java类的属性名是`userName`,可以在`@Results`注解中添加`@Result(column = "user_name", property = "userName")`来定义映射关系。
```java
@Results({
@Result(column = "user_name", property = "userName")
})
@Select("SELECT user_name FROM users")
public List<User> getUsers();
```
在这种情况下,当查询数据库时,MyBatis会将`user_name`的值映射到`userName`属性上。
总之,无论是在Java类中使用`@Column`注解,还是在MyBatis的`@Results`注解中使用`@Result`注解,都可以实现数据库表字段与Java类属性的映射关系,使得字段和类属性不一样的情况下仍能正确地进行数据的读取和写入。
阅读全文