当数据库字段名和实体类字段名不一致的处理方法
方法一
@Repository
public interface testMapper {
@Select("select * from video")
@Results({
@Result(column = "数据库字段名",property = "实体类字段名")
})
public List<Video> findAll();
}
方法二在配置文件中配置下划线转驼峰 如数据库字段user_a就和实体类usera相同链接:
mybatis.configuration.map-underscore-to-camel-case=true
动态sql
先创建一个provider类
public class videoProvider {
public String updateVideo(Video video){
return new SQL(){
{
UPDATE("video");
if(video.getTitle()!=null){
SET("title=#{title}");
}
WHERE("id=#{id}");
}
}.toString();
}
}
之后再mapper接口中调用
type = provider类.class,method = "provider类中的方法名"
更新用@UpdateProvider
删除用@DeleteProvider
//@Update("update video where id = #{id}")
@UpdateProvider(type = videoProvider.class,method = "updateVideo")
public void update(Video video);