• 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 = 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
    读取出来在页面显示则可以显示成:
      有效


  • 相关阅读:
    增加增删改查按钮
    基于.net创建一份报表模块
    bootstrap 三层设计
    DI 依赖注入之StructureMap框架
    unit vs2017基于nunit framework创建单元测试
    Oracle彻底卸载
    sql 统计常用的sql
    Webserver asp配置及伪静态设置
    MVC ASP.NET MVC5使用Area区域
    VS 发布MVC网站缺少视图解决方案
  • 原文地址:https://www.cnblogs.com/rhythmK/p/4052012.html
Copyright © 2020-2023  润新知