1.使用hibernate之前要对其进行配置在src根目录创建一个hibernate.cfg.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- 配置节点 -->
<hibernate-configuration>
<!-- session工厂节点 -->
<session-factory>
<!-- 数据类型语言节点 -->
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- 数据库驱动类节点 -->
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- Assume test is the database name -->
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test
</property>
<property name="hibernate.connection.username">
root
</property>
<property name="hibernate.connection.password">
root
</property>
<!-- 注册类的映射资源 -->
<mapping resource="com/phone1000/je1702/bean/CUser.hbm.xml"/>
<mapping resource="com/phone1000/je1702/bean/Grade.hbm.xml"/>
<mapping resource="com/phone1000/je1702/bean/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
2 之后去创建类对象
类名最好和数据库的表名一样,类的属性最好也和数据库的字段名一致。
类创建完之后还要创建对应的xml文件为Classname.hbm.xml
<?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">
<!--
This mapping illustrates use of <natural-id mutable="false"/>
-->
<hibernate-mapping>
<class name="com.phone1000.je1702.bean.Student">
<id name="sid" type="java.lang.Integer">
<generator class="increment"/>
</id>
<!--
普通字段,name对应的是实体中的属性名
type,类型,
1. java中使用java.lang.String
2. hibernate中使用string
3. 数据库中是varchar
-->
<property name="name" type="java.lang.String" column="sname" />
<property name="sex" type="java.lang.String"/>
<!-- name的grade是Student类中的属性,gid对应的是Student表中的外键 -->
<many-to-one name="grade" column="gid"></many-to-one>
</class>
</hibernate-mapping>
写完之后在到hibernate.cfg.xml文件中注册
第二中方式采用注解的方式就不用写xml文件了。
@Entity
@Table(name="Student ")
public class Student {
@Id
//生产的值 id自增
@GeneratedValue(strategy=GenerationType.AUTO)
private int sid;
@column(name="数据库字段名")
private String sname;
//属性名和数据库字段名相同就不需要注解
private String sex;
//当数据库有外键时
@ManyToOne
@JoinColumn(name="gid")
private Grade grade;
public Student() {
super();
}
之后在hibernate.cfg.xml文件中注册类
<mapping class="com.phone1000.je1702.bean.Student" />