php实体类映射数据库表 php类的实例化( 二 )


POJO怎么映射成数据库的表?
用hibernate框架pojo里用hibernate注解 例如:package .ayumi.pojo;
import java.io.Serializable;
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;
import org.hibernate.validator.NotNull;
@Entity 实体对象@Table(name="users") 表名public class Users implements Serializable {private Integer id;private String username;private String password;@Id 主键@Column(name="id") 列名public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}@Column(name="username",length=20) 列名 及 长度设定@NotNull 非空设定public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}@Column(name="password",length=20) 列名 及 长度设定public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
这样就对表的字段定义好了然后编写main方法测试类public static void main(String[] args) {Configuration cfg=new AnnotationConfiguration().configure();SchemaExport eport=new SchemaExport(cfg);eport.create(true, true);}
执行,这样就会在hibernate.cfg.xml里配置好的相应连接中对应的数据库下创建成功数据库表
java中的映射是什么意思
【php实体类映射数据库表 php类的实例化】 简单的说就是把一个数据库表里的字段和一个java类里的属性对应起来,让程序知道这个java类里的这个属性应该是数据库哪个表里的哪个字段 。
hibernate是通过什么标签实现实体类和表的映射的
10.1 实体类的映射
从Java的角度讲,实体类就是普通的Java封装类(有人称为POJO有人称为VO) 。仅从实体类中的代码信息,Hibernate并不能得知该实体类对应哪个数据表,因此还需要以某种方式配置一下 。常用的方式有*.hbm.xml文件配置与@注解配置两种 。
hbm.xml文件就是普通的xml文件,hbm为Hibernate Mapping的缩写,这样从文件名上就能判断该文件为Hibernate实体类配置文件 。在JPA出现之前,Hibernate都使用hbm.xml文件配置 。JPA出现后,推荐使用JPA的@注解配置,因为对于所有的ORM框架,@注解都是通用的 。
10.1.1 使用@注解配置实体类
实体类一般有ID、普通属性、 *** 属性等,分别对应数据库的主键、普通列、外键 。@注解配置中,实体类用@Entity注解,用@Table指定对应的数据表,用@Id配置主键,用@Column配置普通属性 , 用@OneToMany、@ManyToOne、@OneToOne、@ManyToMany配置实体间关系等 。实体类之间的关于在后面的章节中会做详细介绍 。下面编写一个UsersVo类 , 在该类中使用@注解配置实体类的映射,UsersVo类的代码如下:
package .vo;
import javax.persistence.*;
@Entity 注解Entity表示该类纳入Hibernate管理,能够被持久化
@Table(name = "users") 指定该实体类对应的数据库表名
public class UsersVo {
Fields
@Id 指定该列为主键 。
这个注解用来表示主键类型, auto为数据库自增长类型
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name = "name") 指定变量对应的数据库表的列为"name"
private String name;
@Column(name = "age")指定变量对应的数据库表的列为"age"
private int age;
@Column(name = "tel")指定变量对应的数据库表的列为"tel"
private String tel;
@Column(name = "address")指定变量对应的数据库表的列为"address"
private String address;
Constructors
public UsersVo() {
}
public UsersVo(int id) {
this.id = id;
}
public UsersVo(int id, String name, int age, String tel,
String address) {

推荐阅读