您的位置:首页 > 其它

如何建立第一个hibernate项目以及解决相关出现的问题

2015-11-07 17:58 651 查看
今天着实让我头疼的很,在学习hibernate的时候,虽然理解了,但是真实的实例开发起来会遇到很多的问题,就仅仅从数据库取出属于显示出来就让我遇到了很大的麻烦,从早上忙到晚上,这里先说问题再说一个系统的开发流程:

首先:我发现建立hibernate.cfg.xml文件的时候,发现在最顶部提示一个警告,这一个警告很烦人,但是,知道现在我还是那他没有办法,dtd什么的都改了,验证也改了,就是没办法,。最后警告请教他人说这个岁项目没有太大的影响,与是我就彻底的放弃了。

然后就是一个非常大的问题了,当我按部就班的把所有的应用都全部写完的时候,一点击运行距提示很多错误,是很多错误,但是,至少我还是从错误里面获取了一些有用的信息,就是说我的代码有问题,当我把代码改进了之后,代码还是有问题,最后在错误的前面我看到了sl4j的一个jar包引入错误,为什么是会引入错误呢,我明明已经引入进去,但是,没有办法,错了就是错了,只能大胆的试了一把,假设sl4j的jar包有问题,那么我就从官网下载的最新的jar包全部更新,结果程序可以正常运行》

下面接着说建立hibernate项目的整个流程:

1;引入jar包,这里的jar包我已经全部修改整理好了hibernate-3.3.2jar包-已整理

2:建立hibernate.cfg.xml文件,这里不加赘述:

<?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>

<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">toor</property>

<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

<!-- Disable the second-level cache  -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>

<mapping resource="com/xuning/demon/User.hbm.xml"/>
</session-factory>

</hibernate-configuration>
3:建立数据库相应表的相关对象:如:

package com.xuning.demon;

public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}

}


3:建立对象.hbm.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="com.xuning.demon.User">
<id name="id"/>
<property name="username" />
<property name="password" />
</class>
</hibernate-mapping>


4:执行程序:

package com.xuning.demon;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class Usermain {
public static void main(String[] args) {
//实例化一个对象
User user=new User();
//给对象的成员属性赋值
user.setUsername("xuning7");
user.setPassword("toor");
//实例化configuration对象
Configuration cfg=new Configuration();
//读取hibernate。cfg.xml配置文件实例化sessionfactory对象
SessionFactory sessionFactory=cfg.configure().buildSessionFactory();
//实例化session并开启
Session session=sessionFactory.openSession();
//开始施行后事务。hibernate的dml必须执行事务
session.beginTransaction();
//保存对象
session.save(user);
//提交事务
session.getTransaction().commit();
//关闭session
session.close();
//关闭sessionfactory
sessionFactory.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: