美文网首页
6 - TypeHandler-2

6 - TypeHandler-2

作者: 农民工__乔Young | 来源:发表于2019-05-14 18:47 被阅读0次

本小节对枚举类型进行转换
table

create table `student`(
`id` int auto_increment primary key,
`name` varchar(30) not null,
`age` int,
`gender` int default 0
)auto_increment=10000;

enum

package model;

public enum GenderEnum {
    MALE("男",0),FEMALE("女",1),UNKNOW("不知道",2);
    private String gender;
    private int code;
    GenderEnum(String gender, int code){
        this.gender = gender;
        this.code = code;
    }
    public static GenderEnum getGender(String genderName){
        for (GenderEnum gender: GenderEnum.values()){
            if(gender.gender.equalsIgnoreCase(genderName)){
                return gender;
            }
        }
        return null;
    }

    public static GenderEnum getGender(int code){
        for (GenderEnum gender: GenderEnum.values()){
            if(gender.code == code){
                return gender;
            }
        }
        return null;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return "GenderEnum{" +
                "gender='" + gender + '\'' +
                ", code=" + code +
                '}';
    }
}

model

package model;

public class Student {
    private int id;
    private String name;
    private int age;

    private GenderEnum gender;

    public Student() {
    }
    //getter setter
 }

dao

public interface StudentMapper {
    int insertStudent(Student student);
    Student selectStudentById(int id);
}

mapper
这里的typeHandler使用了别名

 <insert id="insertStudent" parameterType="student">
      insert into `student`(`name`,`age`,`gender`)
      values(#{name},#{age},#{gender,typeHandler=genderTypeHandler})
      <selectKey resultType="int" keyColumn="id" keyProperty="id" order="AFTER">
          select last_insert_id();
      </selectKey>
    </insert>

    <resultMap id="studentMapper" type="student">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="age" column="age"/>
        <result property="gender" column="gender" typeHandler="genderTypeHandler"/>
    </resultMap>

    <select id="selectStudentById" parameterType="int" resultMap="studentMapper">
      select * from `student` where `id` = #{id}
    </select>

test


相关文章

  • 6 - TypeHandler-2

    本小节对枚举类型进行转换table enum model dao mapper这里的typeHandler使用了别...

  • #知识体系精深营#六月+12次作业+第20组2小组+ynqj_a

    6-1 6-1 6-2 6-2 6-3 6-3 6-4 6-4 6-5 6-5 6-6 6-6 6-7 6-7 6...

  • 无标题文章

    1 2 2 3 5 6 6 6 6 6 6 8 3 6

  • 6+6=6

    【九洲芳文】 我不再记得安妮,这句话在一段时间内反复出现在我脑子里,侵蚀着我的神经,仿佛在强迫我遗忘记忆里某些很重...

  • 6/6

    今天又被骂了,会议又出错了,心情更糟了,即使有人开始分担工作,但是还是很晚下班。昨晚去运动,后来也没自己的份,这样...

  • 6/6

    口号(如:父母的高度就是孩子的起点)#孩子第二个30天目标:早睡加早起,培养清理整理书包学习桌面的能力 妈妈第二个...

  • 6/6

    通过这些年的实验,都证实了一点,自己所想的所要的都慢慢一点一点的实现了。所以,只要敢想,敢做,我们最终会成为自己想...

  • 6/6

    分解目标:个人月任务除以24。当天目标未完成,累计到第二天。 月度工作安排:第一周资源积累。第二周开单积累。第三周...

  • 6 6

    这是六月三日的的月亮

  • 6/6

    今天很难得的从构思开始写日记,写我自己真的想表达的事情 昨天晚上开小会说到了人际关系,现在公司的核心成员就我,大凯...

网友评论

      本文标题:6 - TypeHandler-2

      本文链接:https://www.haomeiwen.com/subject/xwveaqtx.html