设为首页 加入收藏

TOP

HelloWorld之Hibernate版
2014-11-24 00:14:54 来源: 作者: 【 】 浏览:9
Tags:HelloWorld Hibernate

摘要:Hello World之Hibernate版。Hibernate是一个数据库ORM(Object/RelationMapping)框架。这里以Hello World命名,但涉及数据库,因此实际上是以User表为例,这里数据库采用MySQL。


第一步:下载Hibernate依赖包


这里采用直接下载,也可以采用maven或者gradle来管理。下载地址:http://sourceforge.net/projects/hibernate/files/hibernate3/,选择hibernate3最新的版本3.6.10.然后将下载的包解压。同时也需要下载MySQL的jdbc驱动jar包。下载地址:http://dev.mysql.com/downloads/connector/j/5.0.html


第二步:建Java工程


用Eclipse建立一个名为HelloHibernate的工程,将如下依赖的jar包加入工程依赖中,包括:


hibernate-distribution-3.6.10.Final\hibernate3.jar


hibernate-distribution-3.6.10.Final\lib\jpa\hibernate-jpa-2.0-api-1.0.1.Final


hibernate-distribution-3.6.10.Final\lib\required下的所有jar包


mysql-connector-java-5.0.8\mysql-connector-java-5.0.8-bin.jar


第三步:创建数据库


这里假设MySQL数据库已经安装好了。创建名为dennis的数据库,并用如下SQL创建user表;


CREATE TABLE `user` (
`id`varchar(20) NOT NULL,
`name`varchar(20) NOT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


第四步:添加hibernate.cfg.xml配置文件

先在src目录下新建hibernate.cfg.xml文件,内容如下:


< xml version="1.0"encoding="UTF-8" >
"-//Hibernate/HibernateConfiguration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


jdbc:mysql://localhost/dennis
com.mysql.jdbc.Driver
root
123456
org.hibernate.dialect.MySQLDialect
true



注意:上述的配置,如果数据库不在本机,需要将localhost改为数据库的IP地址。同时注意数据连接名和密码是否与你的MySQL配置相符。

第五步:添加表映射配置文件

先在src目录下建立cn.hello包,然后在该包下新建User.hbm.xml配置文件,内容如下:


< xml version="1.0" >
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">








第六步:创建POJO类User


在cn.hello包下新建User类,代码如下:


package cn.hello;

public class User {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}


第七步:建立测试主类HelloHibernate.java

在cn.hello包下新建HelloHibernate类,代码如下:


package cn.hello;

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

public class HelloHibernate {

public static void main(String[] args) {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory =cfg.buildSessionFactory();

Session session =sessionFactory.openSession();
session.beginTransaction();

User user = new User();
user.setId("18030620225");
user.setName("DennisHu");

session.save(user);
session.getTransaction().commit();

sessionFactory.close();
}
}


第八步:运行程序


查看数据库User表中已经增加一条记录。


附:常见错误及解决办法


1. Exceptionin thread "main" java.lang.NoClassDefFoundError:javax/persistence/EntityListeners


解决办法:原因是缺失jpa的jar包,将hibernate-jpa-2.0-api-1.0.1.Final.jar加上;


2. Exception in thread "main" org.hibernate.HibernateException :'hibernate.dialect' must be set when no Connection available


解决办法:原因是new Configuration()之后,未执行configure方法;需要改为Configurationcfg =new Configuration().configure();


本文结束!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言static用法 下一篇FFmpeg的Android平台移植—编译篇

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: