Hibernate操作步骤
2011-12-05 19:44
274 查看
(1)创建一个实体类User
(2)将hibernate所需jar包构建项目中
MySQL驱动
hibernate3.jar
lib/required/所有jar文件
lib/jpa/jar文件
(3)配置文件
hibernate.cfg.xml
hibernate.properties
驱动、url、用户名、密码、方言、自动创建表格、将hibernate工作过程中产生的sql语句输出
以及映射文件的位置
<hibernate-configuration>
<session-factory>
<propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<propertyname="connection.url">jdbc:mysql:///demo</property>
<propertyname="connection.username">root</property>
<propertyname="connection.password">123</property>
<propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
<propertyname="hibernate.hbm2ddl.auto">create</property>
<propertyname="hibernate.show_sql">true</property>
<mappingresource="com/hbsi/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
(4)映射文件---
User---- User.hbm.xml
<hibernate-mapping
package="com.hbsi.domain"> -----指定Java实体类的包名
<classname="User" table="user"> -----说明实体类怎样映射成表
<idname="id">
<generatorclass="native"/>
</id>
<propertyname="name"/>
<propertyname="birthday"/>
</class>
</hibernate-mapping>
(5)写Java代码
Configuration cfg=new Configuration();
cfg.configure();//完成hibernate的初始化--读取配置文件
//SessionFactory对象----DriverManager
SessionFactory sf=cfg.buildSessionFactory();
//得Session对象
Session s=sf.openSession();
Transaction tx=s.beginTransaction();
User user=new User();
user.setName("Tom");
user.setBirthday(new Date());
s.save(user);
tx.commit();
s.close();
可能出现问题:
(1)驱动找不到
(2)unknown entity:不认识User实体类。原因在配置文件没有指明映射文件所在位置
<mappingresource="com/hbsi/domain/User.hbm.xml"/>
(3)Table“demo.user” doesnot exist:
create table user(
id int auto_increment;
name varchar(20);
birthday date;
);
在配置文件增加配置:
<propertyname="hbm2ddl.auto">create</property>
create-drop:在hibernate初始化时创建表,程序运行结束时表会被删除
create:在hibernate初始化时会创建表格。
update:只是根据映射文件去和数据库中的表对应起来,如果不一致就更新表结构
validate:校验映射文件和数据库中的表是不是能够对应起来,不能对应不更新表,会报错。
(4)表建好,表格中没有记录。
insert s.save(user)
<propertyname="show_sql">true</property>
事务
Transaction tx=s.beginTransaction();
...
tx.commit();
MyISAM
InnoDB
(2)将hibernate所需jar包构建项目中
MySQL驱动
hibernate3.jar
lib/required/所有jar文件
lib/jpa/jar文件
(3)配置文件
hibernate.cfg.xml
hibernate.properties
驱动、url、用户名、密码、方言、自动创建表格、将hibernate工作过程中产生的sql语句输出
以及映射文件的位置
<hibernate-configuration>
<session-factory>
<propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<propertyname="connection.url">jdbc:mysql:///demo</property>
<propertyname="connection.username">root</property>
<propertyname="connection.password">123</property>
<propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
<propertyname="hibernate.hbm2ddl.auto">create</property>
<propertyname="hibernate.show_sql">true</property>
<mappingresource="com/hbsi/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
(4)映射文件---
User---- User.hbm.xml
<hibernate-mapping
package="com.hbsi.domain"> -----指定Java实体类的包名
<classname="User" table="user"> -----说明实体类怎样映射成表
<idname="id">
<generatorclass="native"/>
</id>
<propertyname="name"/>
<propertyname="birthday"/>
</class>
</hibernate-mapping>
(5)写Java代码
Configuration cfg=new Configuration();
cfg.configure();//完成hibernate的初始化--读取配置文件
//SessionFactory对象----DriverManager
SessionFactory sf=cfg.buildSessionFactory();
//得Session对象
Session s=sf.openSession();
Transaction tx=s.beginTransaction();
User user=new User();
user.setName("Tom");
user.setBirthday(new Date());
s.save(user);
tx.commit();
s.close();
可能出现问题:
(1)驱动找不到
(2)unknown entity:不认识User实体类。原因在配置文件没有指明映射文件所在位置
<mappingresource="com/hbsi/domain/User.hbm.xml"/>
(3)Table“demo.user” doesnot exist:
create table user(
id int auto_increment;
name varchar(20);
birthday date;
);
在配置文件增加配置:
<propertyname="hbm2ddl.auto">create</property>
create-drop:在hibernate初始化时创建表,程序运行结束时表会被删除
create:在hibernate初始化时会创建表格。
update:只是根据映射文件去和数据库中的表对应起来,如果不一致就更新表结构
validate:校验映射文件和数据库中的表是不是能够对应起来,不能对应不更新表,会报错。
(4)表建好,表格中没有记录。
insert s.save(user)
<propertyname="show_sql">true</property>
事务
Transaction tx=s.beginTransaction();
...
tx.commit();
MyISAM
InnoDB
相关文章推荐
- 使用Hibernate操作数据库需要七个步骤
- 使用Hibernate进行持久化操作的步骤及示例
- 使用Hibernate操作数据库需要七个步骤
- hibernate操作数据库的3个准备7个步骤
- hibernate操作数据库的执行步骤
- hibernate操作步骤
- Hibernate持久化操作的步骤,并与JDBC类比
- Hibernate持久化操作步骤
- 使用struts2和hibernate,详解从请求到数据库完成操作所有步骤
- Hibernate 入门程序操作步骤
- Hibernate进行对象持久化操作的步骤
- hibernate操作步骤(代码部分)
- Hibernate多对多操作步骤
- Hibernate持久化对象状态、转换方法和操作步骤
- hibernate操作步骤及不同版本的操作实例
- Hibernate操作数据库的3个准备和七个步骤,以及在SSH框架中Hibernate的配置。
- 第一次让middlegen-Hibernate运行的详细操作步骤
- Hibernate进行持久化操作的步骤
- Hibernate操作步骤
- hibernate连接数据库,进行操作的步骤