Hibernate总结1(入门)
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.其他配置信息
1 <!DOCTYPE hibernate-configuration PUBLIC 2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 3 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 4 5 <hibernate-configuration> 6 <session-factory name="foo"> 7 <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 方言,指明要配置的数据库的类型 --> 8 <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 加载数据库驱动类名 --> 9 <property name="connection.url">jdbc:mysql:///test</property><!-- 数据库连接名称 --> 10 <property name="connection.username">root</property><!-- 用户名 --> 11 <property name="connection.password">123456</property><!-- 密码 --> 12 <property name="show_sql">true</property><!-- 是否显示sql语句 --> 13 <mapping resource="test/User.hbm.xml" /><!-- 指明匹配的hbm文件 --> 14 </session-factory> 15 </hibernate-configuration>
user.hbm.xml配置相关信息
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC 3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 5 6 <hibernate-mapping package="test"> 7 <class name="User"> <!-- 对应于数据库的表名--> 8 <id name="id" type="int" column="id"> <!-- 对应数据库的主键名 --> 9 <generator class="native"/> <!-- 自增长 --> 10 </id> 11 <property name="name" type="string" column="name" /><!-- 列名和类型 --> 12 </class> 13 </hibernate-mapping>
3,到这里基本配置工作就结束了,现在开始在程序中调用这些
1 package test; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.Transaction; 6 import org.hibernate.cfg.Configuration; 7 import org.junit.Test; 8 9 public class AddUser { 10 private static SessionFactory sf; 11 static{ 12 Configuration cfg = new Configuration(); 13 cfg.configure("hibernate.cfg.xml"); 14 sf = cfg.buildSessionFactory(); 15 } 16 17 @Test 18 public void addUser() { 19 User u = new User(); 20 u.setName("liyangyang"); 21 22 Session s = sf.openSession(); //核心,在这里获取的到的是Session核心,主要靠这个来对数据进行操作 23 Transaction tr = s.beginTransaction(); //开启一个事务 24 s.save(u); 25 tr.commit(); //提交一个事务 26 s.close(); 27 } 28 @Test 29 public void getUser() { 30 Session s = sf.openSession(); 31 User u = (User) s.get(User.class, 1); 32 System.out.println(u); 33 s.close(); 34 } 35 }