我想在注解里拿到属性值
时间: 2023-08-11 08:31:09 浏览: 46
如果你想在MyBatis的@TableName注解里拿到自定义属性值,可以使用MyBatis提供的OGNL表达式。OGNL表达式可以在MyBatis的注解中使用,可以获取JavaBean的属性值、调用JavaBean的方法、访问JavaBean的静态属性和方法等。具体步骤如下:
1. 在MyBatis的配置文件中定义一个自定义属性,例如:
```
<properties>
<property name="myapp.tablename" value="mytablename"/>
</properties>
```
2. 在实体类上使用@TableName注解,并使用OGNL表达式获取自定义属性值,例如:
```
@TableName(value = "${myapp.tablename}")
public class MyEntity {
// ...
}
```
这样,MyBatis会在解析@TableName注解时,使用OGNL表达式获取自定义属性值,并将其作为表名。
需要注意的是,为了让OGNL表达式生效,需要在MyBatis的配置文件中开启OGNL支持,例如:
```
<configuration>
<settings>
<setting name="default-statement-timeout" value="3000"/>
<setting name="map-underscore-to-camel-case" value="true"/>
<setting name="call-setters-on-nulls" value="true"/>
<setting name="lazy-loading-enabled" value="true"/>
<!-- 开启OGNL支持 -->
<setting name="aggressive-optimization" value="true"/>
</settings>
<!-- ... -->
</configuration>
```
这样就可以在MyBatis的@TableName注解中使用OGNL表达式,并获取自定义属性值作为表名。