mybatis generator怎么生成注解映射实体类

mybatis generator怎么生成注解映射实体类,第1张

首先:你最好把你的实体类里面的变量名称和你的表里面字段写成一致。

然后:在SqlMapConfigxml中

<typeAliases>

<typeAlias

alias="game"

type="实体类路径"/>

</typeAliases>

这就是把你的实体类写了个别名

最后:在你写查询添加的时候:

<select

id="gameDao"

resultType="game">返回你的实体类对象

select

from

tb_game

</select>

这样查出的结果就对应上你的数据了。

这个pk的英文是primary key

通常我们在写完实体类之后要与数据库中的表进行对应,字段也要一一对应,当出现pk时也就是这个字段对应着数据库表的主键。

这种情况你可以使用反射去写一个通用的方法,不过前提是你的那些实体类都是简单的包装类,稍后奉上代码。代码如下:

package pojo;

/

  Created by liaokai on 2017/11/17 0017

 /

public class Person {

    private String name;

    private int age;

    public Person(String name, int age) {

        thisname = name;

        thisage = age;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        thisname = name;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        thisage = age;

    }

    @Override

    public boolean equals(Object o) {

        if (this == o) return true;

        if (o == null || getClass() != ogetClass()) return false;

        Person person = (Person) o;

        if (age != personage) return false;

        return name != null  nameequals(personname) : personname == null;

    }

    @Override

    public int hashCode() {

        int result = name != null  namehashCode() : 0;

        result = 31  result + age;

        return result;

    }

    @Override

    public String toString() {

        return "Person{" +

                "name='" + name + '\'' +

                ", age=" + age +

                '}';

    }

}

package util;

import pojoPerson;

import javalangreflectField;

import javautilArrayList;

import javautilHashMap;

import javautilList;

import javautilMap;

/

  Created by liaokai on 2017/11/17 0017

 /

public class CompareUtil<T> {

    public List<Map> compareT(T t1,T t2,String className){

        List<Map> list = new ArrayList<Map>();

        //内容没改变直接返回

        if(t1equals(t2)){

            return list;

        }

        try {

            Class c = ClassforName(className);

            //读取t1和t2中的所有属性

            Field[] fields = cgetDeclaredFields();

            for (int i = 0; i < fieldslength; i++) {

                Field field =fields[i];

                fieldsetAccessible(true);

                Object value1=fieldget(t1);

                Object value2=fieldget(t2);

                //判断这两个值是否相等

                if(!isValueEquals(value1,value2)){

                    Map map = new HashMap();

                    mapput("name",fieldgetName());

                    mapput("before",value1);

                    mapput("after",value2);

                    listadd(map);

                }

            }

        } catch (ClassNotFoundException e) {

            eprintStackTrace();

        } catch (IllegalAccessException e) {

            eprintStackTrace();

        }

        return list;

    }

    private boolean isValueEquals(Object value1, Object value2) {

        if(value1==null&&value2==null){

            return true;

        }

        if(value1==null&&value2!=null){

            return false;

        }

        if(value1equals(value2)){

            return true;

        }

        return false;

    }

}

package pojo;

import utilCompareUtil;

/

  Created by liaokai on 2017/11/17 0017

 /

public class Test {

    public static void main(String[] args) {

        Person p1 = new Person("张三",14);

        Person p2 = new Person("张三",15);

        Person p3 = new Person("李四",15);

        CompareUtil<Person> compareUtil = new CompareUtil<Person>();

        Systemoutprintln(compareUtilcompareT(p1,p1,PersonclassgetName()));

        Systemoutprintln(compareUtilcompareT(p1,p2,PersonclassgetName()));

        Systemoutprintln(compareUtilcompareT(p1,p3,PersonclassgetName()));

        Systemoutprintln(compareUtilcompareT(p2,p3,PersonclassgetName()));

    }

}

//运行结果

[]

[{before=14, name=age, after=15}]

[{before=张三, name=name, after=李四}, {before=14, name=age, after=15}]

[{before=张三, name=name, after=李四}]

以上就是关于mybatis generator怎么生成注解映射实体类全部的内容,包括:mybatis generator怎么生成注解映射实体类、java实体类中PK注解什么意思、java比较实体类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9807373.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存