Entity中使用枚举字段

x33g5p2x  于2021-12-28 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(310)

数据库中一些状态字段通常用0,1,2或者简单的字符串进行维护,然后JavaBean实体类中用枚举类型来保存,这样做便于使用和维护。

easymybatis上使用枚举属性很简单:枚举类实现net.oschina.durcframework.easymybatis.handler.BaseEnum接口即可。

下面是具体例子:

第一步

public enum UserInfoType implements BaseEnum<String> {
    INVALID("0"),VALID("1")
    ;

    private String status;

    UserInfoType(String type) {
        this.status = type;
    }

    @Override
    public String getCode() {
        return status;
    }
}

首先定义一个枚举类,实现BaseEnum接口,接口类型参数用String,表示保存的值是String类型,如果要保存Int类型的话改用BaseEnum。

第二步

在javaBean添加该枚举属性:

public class UserInfo {
    ...
    private UserInfoType status;

    // 省略getter setter
}

接下来就可以使用dao来进行数据操作了,下面是完整测试用例:

public class UserInfoDaoTest extends EasymybatisSpringbootApplicationTests {

    @Autowired
    UserInfoDao userInfoDao;

    @Test
    public void testGet() {
        UserInfo userInfo = userInfoDao.get(3);
        print("枚举字段status:" + userInfo.getStatus().getCode());
        print(userInfo);
    }

    @Test
    public void testUpdate() {
        UserInfo userInfo = userInfoDao.get(3);
        // 修改枚举值
        userInfo.setStatus(UserInfoType.INVALID);
        userInfoDao.update(userInfo);
    }

    @Test
    public void testSave() {
        UserInfo userInfo = new UserInfo();
        userInfo.setAddress("aa");
        userInfo.setCity("杭州");
        userInfo.setCreateTime(new Date());
        userInfo.setUserId(3);
        // 枚举值
        userInfo.setStatus(UserInfoType.VALID);
        userInfoDao.save(userInfo);
    }
}
上一篇:字段自动填充
下一篇:SQL写在xml中

相关文章