使用Hibernate进行开发,整个流程其实比较简单,对于初学者来说,上手也是很快的!
学习之后不忘总结,以下是我学习后总结的使用Hibernate的开发流程:
1.导入Hiberanate jar包
这是最基本的啦,先将Hibernate相关的一些包导入工程哈,需要以下几个包:
hibernate3.jar
antlr-2.7.6.jar
dom4j-1.6.1.jar
javassist-3.4.GA.jar
jta-1.1.jar
slf4j-api-1.5.2.jar
这些包可以在Hibernate的官网上下载,点击下载
2.配置Hibernate
在src下新建一个名为hibernate.cfg.xml的文件,该文件是Hiberante的主配置文件,文件内容类似于:
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:mydb</property> <property name="connection.username">test</property> <property name="connection.password">test</property> <property name="connection.pool_size">2</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <mapping resource="user.xml"/> </session-factory> </hibernate-configuration>
这个文件的配置不多说了,使用的使用套用就OK。最主要的是<mapping >标签,它包含了一个映射文件,当然,我们可以配置N个像这样的映射文件啦。
3.编写持久化实体类
最简单的,用户Bean
public class User { private String userId; private String username; private String password; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "userId=" + userId + " username=" + username + " password=" + password; } }
4.配置映射文件
配置与持久类User相关的映射文件user.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> <class name="User" table="USER_TAB"> <id name="userId" column="USERID"> <generator class="native"/> </id> <property name="username" column="USERNAME"/> <property name="password"/> </class> </hibernate-mapping>
其中<id>中指定的userId为唯一标识
5.使用Hibernate访问数据库
以下编写简单的测试代码,用以测试Hibernate配置是否成功。
import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; public class HibernateTest { private static final SessionFactory sessionFactory; static { try { sessionFactory = new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static void main(String[] args) { Session session = sessionFactory.openSession(); Query query = session.createQuery("from User"); List<User> userList = query.list(); for (User user : userList) { System.out.println(user); } } }
配置完成啦。别忘了在数据库中创建表USER_TAB哈,不然这一切都是白干。