首页 > 代码库 > hibernate初涉
hibernate初涉
好久都不曾写写总结一些东西了,惰性真的是令人难以克制!虽然和许多北漂族一样,艰苦而又迷茫,但是我总能找到一些方向,一点期盼,因为你就我的目标。我会坚持下去,重拾青春的热血,既然人生如戏,那我不当猪脚。我要当导演!
Action!
在eclipse的market中安装hibernate tools插件
测试是否安装成功
这里我们采用的hibernate Jar包是hibernate-release-4.2.4.Final版本的(lib中有required必备包)
其他jar包如junit和mysql驱动包直接配置到eclipse的userlib中即可(新建一个java project并配置以上内库即可)
1.创建hibernate配置文件(自动提示需要配置对应的dtd文档支持)
在以下的文件中寻找(hibernate-release-4.2.4.Final\project\hibernate-core\src\main\resources\org\hibernate\hibernate-mapping-3.0.dtd)
新建一个Hibernate Configuration File(cfg.xml)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 <session-factory> 7 <property name="connection.username">root</property> 8 <property name="connection.password">root</property> 9 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>10 <!-- 三个斜杠为简写方式 -->11 <property name="connection.url">jdbc:mysql:///hibernate?userUnicode=true&12 characterEncoding=UTF-8</property>13 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>14 15 <property name="show_sql">true</property>16 <property name="format_sql">true</property>17 18 <!-- 生成表结构策略 -->19 <!--create:表示启动的时候先drop,再create20 create-drop: 也表示创建,只不过再系统关闭前执行一下drop21 update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新22 validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新23 -->24 <property name="hbm2ddl.auto">update</property>25 26 <!-- 默认的数据库 -->27 <property name="hibernate.default_schema">hibernate</property>28 </session-factory>29 </hibernate-configuration>
2.新建一个持久化类Students(JavaBean设计原则 1.公有类 2.提供不带参的共有的构造方法 3.属性必须私有 4.set、get方法封装)
3.创建对象-关系映射文件
生成Students类对应配置如下:
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <!-- Generated 2016-11-12 23:40:02 by Hibernate Tools 3.4.0.CR1 --> 5 <hibernate-mapping> 6 <class name="Students" table="STUDENTS"> 7 <id name="sid" type="int"> 8 <column name="SID" /> 9 <generator class="assigned" />10 </id>11 <property name="sname" type="java.lang.String">12 <column name="SNAME" />13 </property>14 <property name="gender" type="java.lang.String">15 <column name="GENDER" />16 </property>17 <property name="birthday" type="java.util.Date">18 <column name="BIRTHDAY" />19 </property>20 <property name="address" type="java.lang.String">21 <column name="ADDRESS" />22 </property>23 </class>24 </hibernate-mapping>
将Student.hbm.xml配置到hibernate.cfg.xml中
1 <session-factory>2 ...3 <mapping resource="Students.hbm.xml"/>4 </session-factory>
新建数据库(Student)
4.利用Junit,通过hibernate API编写访问数据库代码
1 import java.util.Date; 2 import org.hibernate.Session; 3 import org.hibernate.SessionFactory; 4 import org.hibernate.Transaction; 5 import org.hibernate.cfg.Configuration; 6 import org.hibernate.service.ServiceRegistry; 7 import org.hibernate.service.ServiceRegistryBuilder; 8 import org.junit.After; 9 import org.junit.Before;10 import org.junit.Test;11 12 public class StudentsTest {13 private SessionFactory sessionFactory;14 private Session session;15 private Transaction transaction;16 17 @Before18 public void init() {19 //创建配置对象20 Configuration config = new Configuration().configure();21 22 //创建服务注册对象23 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(24 config.getProperties()).buildServiceRegistry();25 26 //创建会话工厂对象27 sessionFactory = config.buildSessionFactory(serviceRegistry);28 29 //回话对象30 session = sessionFactory.openSession();31 32 //打开事物33 transaction = session.beginTransaction();34 }35 36 @After37 public void destory() {38 transaction.commit();39 session.close();40 sessionFactory.close();41 }42 43 @Test44 public void TestSaveStudents() {45 Students students = new Students(3, "小白", "男", new Date(), "武当山");46 session.save(students);47 }48 }
hibernate初涉
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。