「实例映射java」一一映射例子

博主:adminadmin 2023-01-09 04:24:05 600

今天给各位分享实例映射java的知识,其中也会对一一映射例子进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java两个实体对象有映射关系,则怎么用反射把一个对象的数据拿到,赋给另一个对象?

这个没什么复杂的,你的核心意思是需要对二个对象的实例进行copy动作,做法如下:

1、对第一个类进行反射获取属性的值

2、对第二个类进行反射设置属性的值(将1中的值设入,采用配置文件进行关系映射)

建议你看下java反射机制,不用太理解他的含义,了解怎么用就可以,百度一下“java反射代码”。

下面2个网站可以看看:

java中的映射Field,如果有个实例field里面只有一个非静态啊字段,用get()获得的时候,为什么要传参数?

如果是静态变量,即类变量

需要field.get(这里传Class实例)

如果是对象变量

需要field.get(这里传对象)

这个参数是必须的,否则get无法确定你要从哪儿获取这个field的值

例子:

Field field = Integer.class.getDeclaredField("MAX_VALUE");//静态变量

System.out.println(field.get(Integer.class));//输出2147483647 即Integer.MAX_VALUE

Integer i = new Integer(100);

field = Integer.class.getDeclaredField("value");//非静态

field.setAccessible(true);

field.get(i);//这里必须用对象

System.out.println(field.get(i));//输出100

java中的映射是怎样实现的?

建议做法如下:

第一,写一个符合javaBean标准的实体类,类的属性名称和类型分别与数据库的字段对应,并加上无参构造方法和get、set方法;

第二,使用注解配置映射关系,用@Entity注解该类是一个实体类,用@Table(name = "表名")注解该实体类映射的表名,通过在每一个属性的get方法上添加@Column(name = "列名")注解该属性映射的列;

第三,配置主键,找出表主键映射的那个属性,用@Id在该属性的get方法上注解该属性为Id。(根据具体需要,可能还要做一些更详细的配置)

参考代码如下:

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

import org.hibernate.annotations.Parameter;

/**

 * 

 * 用户

 */

@Entity //说明该类是实体类

@Table(name = "USER")//说明该类映射的是表USER

public class TUser implements java.io.Serializable {

    private String userID; // 用户id

    private String userName; // 用户名称

    private String loginName; // 登录名称

    private String password; // 密码

    private Integer status; // 状态

    private java.util.Date lastLoginTime; // 上次登录时间

    private java.util.Date regTime; // 注册时间

    

    @Id//说明该属性映射的是表USER的主键

    @Column(name = "UserID", unique = true, nullable = false)

    //该属性映射的是表USER的UserId字段,非空且唯一

    public String getUserID() {

        return this.userID;

    }

    public void setUserID(String userID) {

        this.userID = userID;

    }

    @Column(name = "UserName")

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    @Column(name = "LoginName")

    public String getLoginName() {

        return this.loginName;

    }

    public void setLoginName(String loginName) {

        this.loginName = loginName;

    }

    @Column(name = "Password")

    public String getPassword() {

        return this.password;

    }

    public void setPassword(String password) {

        this.password = password;

    }

    @Column(name = "Status")

    public Integer getStatus() {

        return status;

    }

    public void setStatus(Integer status) {

        this.status = status;

    }

    @Column(name = "LastLoginTime")

    public java.util.Date getLastLoginTime() {

        return lastLoginTime;

    }

    public void setLastLoginTime(java.util.Date lastLoginTime) {

        this.lastLoginTime = lastLoginTime;

    }

    @Column(name = "RegTime")

    public java.util.Date getRegTime() {

        return regTime;

    }

    public void setRegTime(java.util.Date regTime) {

        this.regTime = regTime;

    }

    @Override

    public int hashCode() {

        int prime = 0;

        prime += this.getUserID().hashCode();

        return prime;

    }

    @Override

    public boolean equals(Object obj) {

        boolean isEquals = false;

        if (obj != null  this.getClass() == obj.getClass()) {

            TUser clazz = (TUser) obj;

            if (clazz.getUserID().equals(this.getUserID()))

                isEquals = true;

            return isEquals;

        }

        return isEquals;

    }

}

关于实例映射java和一一映射例子的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。