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

 我来答
百度网友1c23319
2015-08-19 · TA获得超过126个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:54.9万
展开全部

建议做法如下:

第一,写一个符合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;
    }

}
运否钟1144
2014-02-18 · TA获得超过112个赞
知道答主
回答量:120
采纳率:0%
帮助的人:71.2万
展开全部
给你起个名字,以后我叫你名字,你就知道我是在叫你。
名字映射到人,Java里边一样的道理,可以自己写,也用框架,原理是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dys终极信仰dys
2014-02-18 · 超过12用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:20万
展开全部
小学的时候数学题有一种叫做连线题,就是映射的一种表现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙映波3e
2014-02-18
知道答主
回答量:33
采纳率:0%
帮助的人:8.2万
展开全部
映射还是反射?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

2015-08-13 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,这是区别于必须先声明类并实例化才能使用类而言,这种方式可以预先不需要实例化。
对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。通过反射机制访问java对象的属性,方法,构造方法等;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式