首页 > 代码库 > mybatis 3 -枚举

mybatis 3 -枚举

定义枚举:

public static enum AppStateEnum     {        Valid("有效"), Virtual("虚拟"), Hide("隐藏");        public String toString() {            return this.appState;        }                private String appState;        private AppStateEnum(String str) {            this.appState = str;        }    }

实体:

public class SysApp {         public int getAppId() {        return appId;    }    public void setAppId(int appId) {        this.appId = appId;    }    public String getAppName() {        return appName;    }    public void setAppName(String appName) {        this.appName = appName;    }    public String getAppCode() {        return appCode;    }    public void setAppCode(String appCode) {        this.appCode = appCode;    }    public int getSorting() {        return sorting;    }    public void setSorting(int sorting) {        sorting = sorting;    }    public SysAppConstant.AppStateEnum getAppState() {        return appState;    }    public void setAppState(SysAppConstant.AppStateEnum appState) {        this.appState = appState;    }    private int appId;     private String appName;     private String appCode;     private int sorting;     private SysAppConstant.AppStateEnum appState;              }

 

XML配置:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.mamaguwen.dao.SysAppDao" >  <resultMap id="BaseResultMap" type="com.mamaguwen.entity.SysApp" >    <id column="AppId" property="appId"   jdbcType="BIGINT" />    <result column="AppName" property="appName" jdbcType="VARCHAR" />    <result column="AppCode" property="appCode" jdbcType="VARCHAR" />    <result column="Sorting" property="sorting" jdbcType="VARCHAR" />    <result column="AppState" property="appState" jdbcType="VARCHAR" />  </resultMap>  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >     Select AppId,AppName,AppCode,Sorting,AppState from sys_app      Where  AppId=#{appId}  </select>    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >    delete from sys_app    where AppId = #{appId}  </delete>    <insert id="insert" parameterType="com.mamaguwen.entity.SysApp"   useGeneratedKeys="true"  keyProperty="appId">      insert into  sys_app (AppName,AppCode,Sorting,AppState)      values (#{appName},#{appCode},#{sorting},#{appState})  </insert>    <update id="updateSorting" parameterType="com.mamaguwen.entity.SysApp" >    update sys_app    set appstate=#{appState}    where appId = #{appId}  </update></mapper>

测试:

@RunWith(value = http://www.mamicode.com/SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = { "classpath:spring.xml",        "classpath:spring-mybatis.xml" })public class TestSysAppDao {        private static final Logger logger = Logger.getLogger(Test_SysUser.class);    private SysAppDao appDao;        public SysAppDao getAppDao() {        return appDao;    }     @Autowired    public void setAppDao(SysAppDao appDao) {        this.appDao = appDao;    }    @Test    public void insert() {      SysApp model=new  SysApp();         model.setAppCode("001");         model.setAppName("王坤");         model.setAppState(AppStateEnum.Valid);         appDao.insert(model);                  System.out.println(String.format("appId:%s", model.getAppId()));    }        @Test    public void selectByPrimaryKey() {        SysApp model=      appDao.selectByPrimaryKey(1);        System.out.println("调整状态:"+model.getAppState());    }}

 

 

需要注意的是 定义枚举时候,定义一个toString方法则 :

  比如 

AppStateEnum.Valid  存如数据库为 Valid
读取出来在页面显示则可以显示成:
  有效


 

mybatis 3 -枚举