学生教材网 >程序设计 > 代码分享 > Java > 浏览文章

Mybatis读写数据库时处理枚举

来源:网络编辑:佚名时间:2016-01-06人气:

反穿越大时代,久酷音乐网,法则天尊

Mybatis枚举转换器  标签: <无>

代码片段(4) [全屏查看所有代码]

1. [文件] EnumOrdinalTypeHandler.java ~ 1KB     下载(0)     跳至 [1] [2] [全屏预览]

package com.diary.util;

import java.sql.CallableStatement;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import org.apache.ibatis.type.JdbcType;  
import org.apache.ibatis.type.TypeHandler;

import com.diary.common.PeopleGender;
  
/** 
 * Mybatisö¾Ùת»»Æ÷ 
 * @author fcy
 */  
public class EnumOrdinalTypeHandler implements TypeHandler<PeopleGender>{

	@Override
	public void setParameter(PreparedStatement ps, int i, PeopleGender gender,
			JdbcType jdbcType) throws SQLException {		
		if(gender != null){
			ps.setInt(i, gender.ordinal());
		}
	}
	@Override
	public PeopleGender getResult(ResultSet res, String columnLabel)
			throws SQLException {
		return PeopleGender.valueOf(Integer.valueOf(res.getString(columnLabel)));
	}

	@Override
	public PeopleGender getResult(ResultSet rs, int columnIndex) throws SQLException {
		return PeopleGender.valueOf(Integer.valueOf(rs.getString(columnIndex)));
	}

	@Override
	public PeopleGender getResult(CallableStatement cs, int parameterIndex)
			throws SQLException {
		return PeopleGender.valueOf(Integer.valueOf(cs.getString(parameterIndex)));
	}
}

2. [文件] PeopleGender.java ~ 550B     下载(0)     跳至 [1] [2] [全屏预览]

package com.diary.common;

public enum PeopleGender {
	MAN("男"),
	WOMAN("女"),
	SECRITY("保密");

	private String genderName;

	PeopleGender(String genderName) {
		this.genderName = genderName;
	}

	public String getValue() {
		return genderName;
	}

    public static PeopleGender valueOf(Integer gender) {
        if (gender == null) {
            return null;
        }

        for (PeopleGender item : values()) {
            if (item.ordinal() == gender) {
                return item;
            }
        }
        return null;
    }
}

3. [图片] mapper.png    

4. [图片] Mybatis-config.png    

guava MultiMap demo

<无详细内容>标签:<无>-->-->-->1.[代码][Java]代码/***Createdbylgqon16-1-6.

guava MultiSet demo

<无详细内容>标签:<无>-->-->-->1.[代码][Java]代码/***Createdbylgqon16-1-6.

热门推荐