1,官网包简介
整体简介
Project包简介,这个包里有etc文件,这个etc主要包括了配置文件,最主要的是hibernate.cfg.xml文件
lib文件夹包含的是需要加载的依赖jar包,必须加上require和jpa的包,可选的包以后再说
最后,在整个工程文件的目录结构如下
2,这里需要写一下hibernate.cfg.xml的配置文件的相关状况
注意,这个配置文件一共包含下面几部分
a,数据库配置信息,5个,包括方言,driver,url,username,pwd
b,导入映射配置文件 xxx.hbm.xml。用于和类进行映射
c.其他配置信息
<!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 name="foo">
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 方言,指明要配置的数据库的类型 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 加载数据库驱动类名 -->
<property name="connection.url">jdbc:mysql:///test</property><!-- 数据库连接名称 -->
<property name="connection.username">root</property><!-- 用户名 -->
<property name="connection.password">123456</property><!-- 密码 -->
<property name="show_sql">true</property><!-- 是否显示sql语句 -->
<mapping resource="test/User.hbm.xml" /><!-- 指明匹配的hbm文件 -->
</session-factory>
</hibernate-configuration>
hibernate配置信息
user.hbm.xml配置相关信息
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="test">
<class name="User"> <!-- 对应于数据库的表名-->
<id name="id" type="int" column="id"> <!-- 对应数据库的主键名 -->
<generator class="native"/> <!-- 自增长 -->
</id>
<property name="name" type="string" column="name" /><!-- 列名和类型 -->
</class>
</hibernate-mapping>
user.hbm.xml
3,到这里基本配置工作就结束了,现在开始在程序中调用这些
package test; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; public class AddUser {
private static SessionFactory sf;
static{
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
sf = cfg.buildSessionFactory();
} @Test
public void addUser() {
User u = new User();
u.setName("liyangyang"); Session s = sf.openSession(); //核心,在这里获取的到的是Session核心,主要靠这个来对数据进行操作
Transaction tr = s.beginTransaction(); //开启一个事务
s.save(u);
tr.commit(); //提交一个事务
s.close();
}
@Test
public void getUser() {
Session s = sf.openSession();
User u = (User) s.get(User.class, 1);
System.out.println(u);
s.close();
}
}
User的操作