搭建一个最小的hibernate框架

第一步:

//创建一个po类

package com.hibernate.domain;

 

import java.io.Serializable;

 

/**

 * po类:po封装的数据,将来会被持久化数据库

 *

 * @author Mr MO

 *

 */

public class User implements Serializable {

private int id;

private String name;

private String sex;

private int age;

 

public int getId() {

return id;

}

 

public void setId(int id) {

this.id = id;

}

 

public String getName() {

return name;

}

 

public void setName(String name) {

this.name = name;

}

 

public String getSex() {

return sex;

}

 

public void setSex(String sex) {

this.sex = sex;

}

 

public int getAge() {

return age;

}

 

public void setAge(int age) {

this.age = age;

}

 

@Override

public String toString() {

return "User [id=" + id + ", name=" + name + ", sex=" + sex + ", age="

+ age + "]";

}

 

}

第二步:

//创建一个表(User)

create table `user`(

id int PRIMARY key auto_increment,

name varchar(20),

  sex char(1),

age int

)

第三步:

编写po类跟user表之间的映射关系  (User.hbm.xml)


注意事项:User.hbm.xml po 类放于同一个包下


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC 

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

 

<hibernate-mapping>

<class name="com.hibernate.domain.User" table="user">

<id name="id" column="id">

<generator class="native"></generator>

</id>

<property name="age" column="age"></property>

<property name="name" column="name"></property>

<property name="sex" column="sex"></property>

</class>


<!--

   hibernate-mapping根标签

   class标签:它是用来描述对象类与数据库中表的关系

   com.xingxue.hibernate.evn.domain.User   &&&&&&&&&&&&&&&&&&&&&       user表

   属性                                 字段

   

   id标签标签是来描述主键与类属性的关系

   id标签中:name属性表示对象的属性名

   id标签中的column属性是表示表中的字段名称

   

   generator标签是id标签的子标签:用来表示主键的生成策略

   native:根据底层数据库的能力选择 identity、sequence 或者 hilo 中的一个。

   uuid:生成36未的不重复的字符串作为主键值

   assigned:让应用程序在调用 save() 之前为对象分配一个标识符。这是 <generator> 元素没有指定时的默认生成策略。  手工进行主键的赋值

   increment:用于为 long, short 或者 int 类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。在集群下不要使用。效率低,不建议使用

   identity:对 DB2,MySQL,MS SQL Server,Sybase  HypersonicSQL 的内置标识字段提供支持。返回的标识符是 long,short 或者 int 类型的。

   常用的是uuid  assigned 两种

   

  普通的字段和属性的描述:

property标签来描述的。

name属性:对象的属性名称

column属性:表的字段名称

not-null属性:指定该字段不能为空:

length属性:表示指定字段的长度

precision:小数点后面的位数 2

scale:小数的有效长度 3

5.33

联合一起使用用来描述小数的长度

如果属性名称跟表的字段名称一致,可以省略不写column属性

   

    -->



</hibernate-mapping>


第四步:

编写一个hibernate核心配置文件 hibernate.cfg.xml

注意事项:

Hibernate.cfg.xml放于工程的类路径下,src目录下

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

 

<session-factory>

<!-- 数据库信息的配置 -->

<property name="hibernate.connection.url">jdbc:mysql:///hiberante</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<!-- 指定数据库方言 -->

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<!-- 引入外部的映射文件 -->

<mapping resource="com/hibernate/evn/domain/User.hbm.xml"/>

</hibernate-configuration>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值