初级hibernate学习记录
本人菜鸟,刚开始学习hibernate,写下记录为了增强自己的记忆。最最初级的hibernate配置:
1、系统环境的准备:
导包:把hibernate开发包的lib目录下的jar文件全部导入工程(书中推荐)。
自己在测试时,导入几个必要的包即可。首先导入hibernate核心包(hibernate3.jar)和数据库驱动包(ojdbc14.jar),然后运行测试程序,按照错误提示,先后导入dom4j1.6.1.jar、commons-collections-2.1.1.jar、cglib-2.1.3.jar、asm.jar等,因为先导入了struts2的相关压缩包,所以,以上压缩包有可能缺少。
2、在classpath(即工程的src)目录下创建hibernate.cfg.xml文件,然后拷贝工程示例或原有工程的hibernate.cfg.xml文件。该文件的根元素(root element)是hibernate-configuration,二级子元素是session-factory。Session-factory至少要配置5~6个属性(property),包括:connection.driver_class、connection.url、connection.username、 connection.password 、dialect。然后是二级子元素mapping,引入类的持久化映射文件。文件如下:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.
<hibernate-configuration>
<session-factory>
<property name="myeclipse.connection.profile"> oracle</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver
</property>
<property name="connection.username">hollycrm</property>
<property name="connection.password">hollycrm</property>
<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE
</property>
<property name="dialect">
org.hibernate.dialect.OracleDialect
</property>
<property name="show_sql">true</property>
<mapping resource="domain/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
3、创建类的持久化映射文件。映射文件的命名规则为:类名.hbm.xml。文档元素是hibernate-mapping,二级子元素是class,属性等。具体参照如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.
<hibernate-mapping>
<class name="domain.User" table="users">
<id name="id" type="string" column="id" >
<generator class="assigned"></generator>
</id>
<property name="name" type="string" column="name"/>
<property name="age" type="integer" column="age"/>
</class>
</hibernate-mapping>
4、测试:
public static void main(String[] args){
User user= new User("1","zhang",23);
Configuration config=new Configuration();
config.configure();
SessionFactory sf=config.buildSessionFactory();
Session session=sf.openSession();
Transaction tx=session.beginTransaction();
session.save(user);
();
session.close();
}