pojo:
@Data
public class Student {
private int id;
private String name;
private int age;
private String sex;
}
场景:数据库里面字段sex数据类型是bit,想在java中用String表示。
想法:将查询出来的sql结果,将字段sex由bit数据类型(数据库中是bit,java中用boolean表示)转换成String数据类型。
解决办法:
select id,name,case when sex=0 then '男' else '女' end as sex from student
注意: case when 使用结束后,一定要加上as xxx(需要的成员对象名称),如果不加的话会是null,如下图:
@Select("select id,name,case when sex=0 then '男' else '女' end
from student where id=#{id}")
Student findById(int id);
查询结果:
Student(id=1, name=zbz, age=0, sex=null)
加上as xxx的结果图如下:
@Select("select id,name,case when sex=0 then '男' else '女' end as sex
from student where id=#{id}")
Student findById(int id);
查询结果:
Student(id=1, name=zbz, age=0, sex='男')