「java实体类映射工具」java实体类映射工具有哪些

博主:adminadmin 2022-12-07 01:48:07 75

本篇文章给大家谈谈java实体类映射工具,以及java实体类映射工具有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中映射是什么

映射简称ORMapping

说的直白点就是这样:

对象在数据库里面保存的状态

比如:把某对象映射到库里,就是指把对象存储到数据库里

大概就是这个意思

如果想了解的更多.,你可以搜索 一些相关的知识

常用的JAVA映射工具如:Hibernate就是我们用的最流行的

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;

    }

}

Apache Commons里面都有啥

Apache Commons里面都有,如下

组件:BCEL 说明:字节码引擎库-用来分析,创建和操作JAVA类文件

组件:BeanUtils 说明:JAVA反射的简单包装

组件:BSF 说明:Bean脚本框架-脚本语言接口,包括JSR-223

组件:Chain 说明:责任链模式的实现

组件:CLI 说明:命令行参数解析器

组件:Codec 说明:通用的编码/解码算法(比如 phonetic, base64, URL)

组件:Collections 说明:JAVA集合扩展与增强

组件:Compress 说明:定义与tar,zip,和bzip2相关的API

组件:Configuration 说明:读取属性/配置文件,可以表现为不同的格式

组件:Crypto 说明:密码库,使用Openssl与JCE算法实现优化

组件:CSV 说明:读写以逗号分隔的文件组件

组件:Daemon 说明:类unix系统守护方式的替换调用机制

组件:DBCP 说明:数据连接池服务

组件:DbUtils 说明:JDBC帮助类

组件:Digester 说明:XML与JAVA实体映射工具

组件:Discovery 说明:资源定位工具,用来匹配service/引用的名到资源名上

组件:Email 说明:使用JAVA发邮件

组件:Exec 说明:使用JAVA进行外部进程管理与环境管理的API

组件:FileUpload 说明:servlets和web服务的文件上传能力

组件:Functor 说明:将一个函数做为一个对象来操作或者将一个对象做一个函数来使用

组件:Imaging 说明:JAVA图片库

组件:IO 说明:I/O操作集合类

组件:JCI 说明:JAVA编译器接口

组件:JCS 说明:JAVA缓存系统

组件:Jelly 说明:基于XML的脚本与处理引擎

组件:Jexl 说明:JSTL表达式的扩展

组件:JXPath 说明:使用XPath语法来操作JAVA Bean

组件:Lang 说明:java的lang的扩展

组件:Launcher 说明:跨平台JAVA应用启动器

组件:Logging 说明:日志API实现

组件:Math 说明:轻量的独立的数学统计组件

组件:Modeler 说明:创建兼容JMX规范的Model MBeans

组件:Net 说明:网络工具与协议的实现

组件:OGNL 说明:对象图导航语言

组件:Pool 说明:对象池组件

组件:Proxy 说明:动态代理库

组件:RNG 说明:随机数生成器实现

组件:SCXML 说明:状态图表实现,旨在创建和维护JAVA的SCXML引擎。它能高效的执行一个使用SCXML定义的状态机,并且抽象环境接口

组件:Validator 说明:在XML文件中定义校验规则

组件:VFS 说明:虚拟文件系统,使FTP,SMB,ZIP看似是同一个逻辑的文件系统

组件:Weaver 说明:提供一个简单的方式来增强编译的字节码

一起总共有41个项目。

使用java实体类自动生成Hibernate映射文件

用MyEclipse自动生成Hibernate映射文件及实体:

1、 创建数据库,创建相应的表,

2、 点击图标,选择MyEclipse Datebase Explorer,

3、 右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示你所创建的连接名,如图mysqldb是我创建的数据库连接,

4、 选择需要添加hibernate映像文件的工程右击---MyEclipse--Add Hibernate Capabilities,

5、 根据提示下一步,不需要改动东西,

6、 选择刚刚创建的数据库连接名,继续下一步,最后finish,

7、 刚刚自动生成的东西,有HibernateSessionFactory.java 和 hibernate.cfg.xml,

8、 到MyEclipse Datebase Explorer中刚刚新建的数据库连接选中所有表,点击右键---Hibernate Reverse Enginnering 选中目录存放将要反转出来的实体类查看是否选中Update Hibernate configuration..若没有自己勾选一下,下一步,可以设置每张表中id增长方式(assigned代表要人为指定,为了方便可以空着让系统决定),及生成的映射文件名称,

注意事项:Class name要指定完整的包名assigned代表要人为指定,为了方便可以空着让系统决定。

9、 回到my eclipse enterprise视图下,所有实体类以及配置文件已生成。

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

The End

发布于:2022-12-07,除非注明,否则均为首码项目网原创文章,转载请注明出处。