JavaBean中使用枚舉字段

數據庫中一些狀態字段一般用0,1,2或者簡單的字符串進行維護,而後JavaBean實體類中用枚舉類型來保存,這樣作便於使用和維護。java

easymybatis上使用枚舉屬性很簡單:枚舉類實現net.oschina.durcframework.easymybatis.handler.BaseEnum接口便可。數據庫

下面是具體例子:mybatis

第一步

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<Integer>。ide

第二步

在javaBean添加該枚舉屬性:測試

public class UserInfo {
    ...
    private UserInfoType status;

    // 省略getter setter
}

接下來就能夠使用dao來進行數據操做了,下面是完整測試用例:this

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);
	}
}
相關文章
相關標籤/搜索