mybatis注解怎么解决字段名与属性名不同的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis注解怎么解决字段名与属性名不同的问题相关的知识,希望对你有一定的参考价值。

参考技术A 在spring中配置
<,-- 通过扫描的模式,扫描目录在com.mrorder.dao目录下,所有的mapper都继承SqlMapper接口的接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.mrorder.dao"/>
<property name="markerInterface" value="com.mrorder.dao.SqlMapper"/>
</bean>

自己写dao层方法的接口
public interface OrderMapper extends SqlMapper

@Select("select * from tbl_order where room like #room and mydate like #mydate")
public List<Order> getbyroom(OrderPara op);


这样整个语句是写死的,必须有2个参数,在这种模式下,如何能实现根据room和mydate是否为空来动态的拼写sql语句
比如当mydate=""
Select("select * from tbl_order where room like #room ")
public List<Order> getbyroom(OrderPara op);
如果用xml来配置语句的话,可以用<when test="title ,= null">
and mydate= #mydate
</when>
如果是用@Select 这种 改如何做呢?
利用自定义注解,通过反射,拼出SQL语句。
参考技术B resultMap id="ThemeMap" class="Theme">
<result property="themeId" column="theme_id"/>

<result property="xxxId" column="xxx_id"/>
property是类的属性名称
column是表的字段名称本回答被提问者采纳

以上是关于mybatis注解怎么解决字段名与属性名不同的问题的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis学习二(字段名与实体类属性名不相同/关联查询)

MyBatis学习总结——解决字段名与实体类属性名不相同的冲突

MyBatis学习总结——解决字段名与实体类属性名不相同的冲突(转载)

Mybatis解决字段名与实体类属性名不相同的冲突

MyBatis——解决字段名与实体类属性名不相同的冲突

MyBatis学习总结——解决字段名与实体类属性名不相同的冲突