1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Hibernate_01_初体验

Hibernate_01_初体验

时间:2022-07-11 08:16:28

相关推荐

Hibernate_01_初体验

Hibernate_01_初体验

hibernate开发的基本步骤:

编写配置文档hibernate.cfg.xml;编写实体类;生成对应实体类的映射文件并添加到配置文档中;调用hibernate API进行测试。

Hibernate的一个小例子(慕课网教程整理的代码):

首先在eclipse--help--Eclipse MarketPlace中搜索“jboss Tool”

导入hibernate核心jar包、Junit包。

创建一个java类:

1 package com.imooc.hibernate;2 3 import java.util.Date;4 5 public class Students {6 7private int sid;8private String sname;9private String gender;10private Date birthday;11private String address;12 13public Students(int sid, String sname, String gender, Date birthday, String address) {14 super();15 this.sid = sid;16 this.sname = sname;17 this.gender = gender;18 this.birthday = birthday;19 this.address = address;20}21 22@Override23public String toString() {24 return "Students [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", birthday=" + birthday25 + ", address=" + address + "]";26}27 28public int getSid() {29 return sid;30}31 32public void setSid(int sid) {33 this.sid = sid;34}35 36public String getSname() {37 return sname;38}39 40public void setSname(String sname) {41 this.sname = sname;42}43 44public String getGender() {45 return gender;46}47 48public void setGender(String gender) {49 this.gender = gender;50}51 52public Date getBirthday() {53 return birthday;54}55 56public void setBirthday(Date birthday) {57 this.birthday = birthday;58}59 60public String getAddress() {61 return address;62}63 64public void setAddress(String address) {65 this.address = address;66}67 }

点击项目名,右键new--other--自动生成类的配置文件:

1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "/hibernate-mapping-3.0.dtd"> 4 <!-- Generated -5-23 0:24:09 by Hibernate Tools 3.5.0.Final --> 5 <hibernate-mapping> 6<class name="com.imooc.hibernate.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>

生成hibernate配置文件:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "/dtd/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 <property name="connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&amp;characterEncoding=UTF-8</property>11 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>12 <!-- 是否将sql语句打印到控制台,编码阶段便于测试,建议设为true -->13 <property name="show_sql">true</property>14 <!-- 是否将sql语句进行排版,建议设为true -->15 <property name="format_sql">true</property>16 <!-- 生成表结构的策略。create是如果之前有表结构,先删除表结构再重建;17 update:原有的基础上更新;18 create-drop:先删除表结构再重建19 validate:与原表进行验证,如果和原表表结构不同,则不进行创建。20 一般使用create和update21-->22 <property name="hbm2ddl.auto">create</property>23 24 <mapping resource="com/imooc/hibernate/Students.hbm.xml"/>25</session-factory>26 </hibernate-configuration>

写StudentsTest.java文件:

1 package com.icoom.test; 2 import static org.junit.Assert.fail; 3 4 import java.util.Date; 5 6 import org.hibernate.Session; 7 import org.hibernate.SessionFactory; 8 import org.hibernate.Transaction; 9 import org.hibernate.cfg.Configuration;10 import org.hibernate.service.ServiceRegistry;11 import org.hibernate.service.ServiceRegistryBuilder;12 import org.junit.After;13 import org.junit.Before;14 import org.junit.Test;15 16 import com.imooc.hibernate.Students;17 18 public class StudentsTest {1920private SessionFactory sessionFactory;21private Session session;22private Transaction transaction;23 24@Before25public void init() {26 // 1.创建配置对象27 Configuration config = new Configuration().configure();28 // 2.创建服务注册对象29 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();30 // 3.创建会话工厂对象31 sessionFactory = config.buildSessionFactory(serviceRegistry);32 // 会话对象33 session = sessionFactory.openSession();34 // 开启事务35 transaction = session.beginTransaction();36}37@After38public void destory() {39 mit();40 session.close();41 sessionFactory.close();42}43@Test44public void testSaveStudents() {45 // 生成学生对象46 Students s = new Students(1, "老张", "男", new Date(), "山东");47 session.save(s);//保存对象进入数据库48}49 50 }

使用Junit执行,然后在数据库中就会看到新建的表结构和插入的数据。

hibernate.cfg.xml文件中的<property name="hbm2ddl.auto">create</property>指定由hibernate新建表。

-------------------------------------

以上是对hibernate的配置文件元素的作用和hibernate的用法做一个简单的了解,一开始学习新技术要保持不求甚解,先快速入门以避免从入门到放弃。等达到一定熟练度再深入了解其原理。因此强烈推荐慕课网的教程,先快速了解再深入学习。

posted on -05-25 23:16tzzt01 阅读(...) 评论(...) 编辑 收藏

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。