SSH学习之Hibernate的第一个程序

来源:互联网 发布:赢顺云交易软件下载 编辑:程序博客网 时间:2024/05/20 21:23

回忆

在之前的几篇博客里我们了解了Hibernate的一些基本的概念和用途,接下来我从环境搭建到对数据库进行CRUD操作做一次详细的讲解。(在这里JDK、Tomcat、myeclipse、MySQL都已经配置好了)

搭建环境

第一步:创建项目
个人建议还是创建WEB项目比较好,其实创建Java项目也行,在这里我就以WEB项目为例了。
第二步:导入jar包
  • 我使用的Hibernate3.6的版本,因为这是比较稳定的一个版本,用其他版本也可从官网下载。
  • 下载解压Hibernate之后,我们初学的只需要其中的两个文件夹下的jar包,在lib目录下。值得注意的是如果是Hibernate3.X版本的必须要引入加压后的hibernate3.jar,否则会报错

  • 即便是其他的版本,也只需要引入这两个文件夹的jar包。
  • 将jar包复制到WEB-INF下的lib目录。
第三步:引入核心配置文件
  • 核心配置文件可以从下载解压的文件中获取。hibernate-distribution-3.6.10.Final\project\etc目录下的hibernate.cfg.xml,将其拷贝到项目src目录下,删除其中的session-factory标签中的属性及它的所有子标签,然后可以参考博客SSH学习之Hibernate的配置文件对其中的一些信息进行配置,比如数据库信息。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- 配置MySQL数据库信息 --><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://localhost:3306/db_hibernate</property><property name="connection.username">root</property><property name="connection.password">root</property><!-- 配置hibernate设置信息 --><property name="hibernate.show_sql">true</property><property name="hibernate.format_sql">true</property><!--指定数据库的方言,指定MySQL--><property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property><!-- 导入映射文件(实体和表之间的映射关系) --><mapping resource="pojo/User.hbm.xml"/></session-factory></hibernate-configuration>


第四步:导入MySQL驱动包
  • MySQL的驱动包可以到官网下载驱动包下载,可以选择版本。将MySQL驱动包也导入项目的lib目录下。


编写程序

第一步:创建一个实体类User
package pojo;public class User {private Integer id;private String username;private String password;public Integer getId() {return id;}public void setId(Integer 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;}}
第二步:创建映射文件User.hbm.xml
将映射文件和User实体类放到同一个包下。
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"   "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><!-- name属性:实体类的全路径,必选table属性:指明数据库中的表名,必选catalog属性:指明数据库的名称,可选 --><class name="pojo.User" table="user" catalog="db_hibernate"><!-- id标签:每一张表都必须要有唯一的标识符,必要name属性:标识符的名称,必选column属性:指定标识符对应表中的哪个字段,可选,默认为和标识符同名type属性:指定类型,可选,一般不写 --><id name="id" column="id"><!-- 主键的生成策略native:根据不同的数据库而不同,MySQL的是整型并且自增长 --><generator class="native"></generator></id><!-- property标签:实体类和表字段的对应关系name属性:实体类的属性,必选column属性:表字段,可选,默认和实体类属性同名type属性:指定类型,可选,一般不写 --><property name="username" column="username" /><property name="password" column="password" /></class></hibernate-mapping>
第三步:核心配置文件中引入映射文件
<!-- 导入映射文件(实体和表之间的映射关系) --><mapping resource="pojo/User.hbm.xml"/>
第四步:创建数据库以及相应的表
数据库名称为db_hibernate,表的名称为user。

第五步:编写测试类
  • 利用Test进行测试,双击类名,选择run as-》JUnit Test进行测试。数据库表有记录,则表示成功。
  • 如果没有JUint的jar包,可以去下载。
package test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.junit.Test;import pojo.User;public class TestHibernate {@Testpublic void testSave() {//加载配置文件Configuration cfg = new Configuration();//如果没有指定核心配置文件,那么默认加载的是src目录下的hibernate.cfg.xml//如果核心配置文件路径改变,一定要指出路径cfg.configure("hibernate.cfg.xml");//生成SessionFactorySessionFactory sf = cfg.buildSessionFactory();Session session = sf.openSession();//开启事务Transaction tx = session.beginTransaction();User user = new User();user.setUsername("王五");user.setPassword("123abc");try {session.save(user);tx.commit();} catch (Exception e) {tx.rollback();} finally {session.close();sf.close();}}}

多余的话

写这个不是为了啥,只是回想起了当初学习的时候的情形了。
     想一想当初还是各种查资料才搞定这些东西的。


0 0
原创粉丝点击