rha*_*dom 4 mybatis mybatis-generator
我的问题很简单。我在mysql数据库的产品表中有一个列名product_name,但在我的产品类(java)中,在productName中使用了camelcase。MyBatis没有将product_name映射到productName。有什么解决办法吗?我以前在Hibernate中没问题,但是现在我需要使用mybatis进行开发
我知道这很旧,但对于可能遇到的问题,MyBatis 支持将下划线映射到驼峰式大小写
config.xml
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后您的sql可能看起来像:
select product_name, product_description, ...
from products
Run Code Online (Sandbox Code Playgroud)
甚至只是
select *
from products
Run Code Online (Sandbox Code Playgroud)
可以通过可自定义的SqlSessionFactory在基于Spring的配置中启用下划线到驼峰大小写的映射,如下所示:
@Bean
@Primary
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactory factory = sessionFactoryBuilder().build();
factory.getConfiguration().setMapUnderscoreToCamelCase(true);
// other configurations
return factory;
}
Run Code Online (Sandbox Code Playgroud)
您必须<resultMap>在 MyBatis 中使用标签来返回结果。例如:
<resultMap id="result" type="userModel">
<result property="id" column="USER_ID"/>
</resultMap>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,type="userModel"userModel 是在配置文件中定义的,其中存在 userModel 与模型 java 类的映射,该类将具有相应的 id setter/getter 方法。有关这方面的更多信息,请参阅以下文档:
| 归档时间: |
|
| 查看次数: |
7294 次 |
| 最近记录: |