Hello World之Hibernate版
2014-01-20 19:11
218 查看
HelloWorld之Hibernate版
作者:雨水 2014-1-18
摘要: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表;
第四步:添加hibernate.cfg.xml配置文件
先在src目录下新建hibernate.cfg.xml文件,内容如下:
注意:上述的配置,如果数据库不在本机,需要将localhost改为数据库的IP地址。同时注意数据连接名和密码是否与你的MySQL配置相符。
第五步:添加表映射配置文件
先在src目录下建立cn.hello包,然后在该包下新建User.hbm.xml配置文件,内容如下:
第六步:创建POJO类User
在cn.hello包下新建User类,代码如下:
第七步:建立测试主类HelloHibernate.java
在cn.hello包下新建HelloHibernate类,代码如下:
第八步:运行程序
查看数据库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();
本文结束!
作者:雨水 2014-1-18
摘要: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"?> <!DOCTYPE hibernate-configurationPUBLIC "-//Hibernate/HibernateConfiguration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <propertyname="hibernate.connection.url">jdbc:mysql://localhost/dennis</property> <propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <propertyname="hibernate.connection.username">root</property> <propertyname="hibernate.connection.password">123456</property> <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property> <propertyname="hibernate.show_sql">true</property> <mappingresource="cn/hello/User.hbm.xml"/> </session-factory> </hibernate-configuration>
注意:上述的配置,如果数据库不在本机,需要将localhost改为数据库的IP地址。同时注意数据连接名和密码是否与你的MySQL配置相符。
第五步:添加表映射配置文件
先在src目录下建立cn.hello包,然后在该包下新建User.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的table属性来设置表名 --> <class name="cn.hello.User"> <id name="id"> </id> <property name="name"/> </class> </hibernate-mapping>
第六步:创建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();
本文结束!
相关文章推荐
- hibernate环境搭建(Hello world 配置文件版)
- 基于Hibernate 4.0 的Hello World
- Hibernate:Hello World
- Hibernate(四):Hello World
- Java-hibernate的Hello World
- SSH(Spring+Struts+Hibernate)学习笔记(三)Struts 2 Hello World
- Hibernate 4——Hello World
- Hibernate的Hello World!
- hibernate5 —— hello world
- Hibernate学习Hello World与及hibernate.dialect not set
- hibernate之Hello world
- Hibernate初学者---Hello World
- 在运行Hibernate Hello World程序的时候,抛如下错误: view plain Exception in thread "main" org.hibernate.exception.LockAcquisitionException 解决方法
- Hibernate环境搭建与配置方法(Hello world配置文件版)
- hibernate的hello world
- 一个Hibernate的Hello World, 基于Hibernate 4.0
- 在JAVA EE中配置hibernate以及hibernate hello world
- 创建第一个hibernate应用程序---- Hello world
- HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
- Hibernate之hello world