使用maven和myeclipse配置hibernate以及基本的入门程序

hibernate是使用pojo类和数据库表映射的方式,因此hibernate的创建和配置需要有:

1.导包

2.创建hibernate.cfg.xml核心配置文件

3.创建与数据库表所对应的pojo类

4.创建和配置让数据库表和pojo类能映射起来的映射文件Goods.hbm.xml文件

5.测试

 

 

1.首先创建一个项目后,在pom.xml文件中导入hibernate所需要的依赖

<dependencies>
  <!– hibernate的核心依赖包 –>
  <dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>5.3.6.Final</version>
  </dependency>
  <!– jdbc的包 –>
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.32</version>
  </dependency>
  <!– 查看日志文件的log4j包 –>
  <dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.12</version>
  </dependency>
  <!– 测试用的依赖包 –>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.11</version>
  </dependency>
 </dependencies>

maven会自动将hibernate其他所需要的依赖包自动导入,最后可以在文件目录下查看

2.创建一个hibernate.cfg.xml文件,注意这个名称不可变

在其中配置连接数据库所需要的信息:驱动路径,url,数据库的账号,密码

注意这个文件如果使用maven的话只能创建在src/main/resources下,不要有多层目录。

如果没有使用maven,将其创建在src目录下即可

 

<?xml version=‘1.0‘ encoding=‘utf-8‘?>

<!DOCTYPE hibernate-configuration PUBLIC

    “-//Hibernate/Hibernate Configuration DTD//EN”

    “http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”>

<hibernate-configuration>

 <session-factory>

  <!– 连接数据库的基本信息 –>

  <!– 驱动路径 –>

  <property name=”hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>

  <!– url –>

  <property name=”hibernate.connection.url”>jdbc:mysql://localhost:3306/test</property>

  <!– 用户名 –>

  <property name=”hibernate.connection.username”>root</property>

  <!– 密码 –>

  <property name=”hibernate.connection.password”>root</property>

  <!– 方言 –>

  <!– 告诉框架使用了什么数据库 –>

  <property name=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>

  <!– 可以将向数据库发送的SQL语句显示出来 –>

  <property name=”hibernate.show_sql”>true</property>

  <!– 格式化SQL语句 –>

  <property name=”hibernate.format_sql”>true</property>

  <!– 加载映射文件 –>  <!– 在第三步配置pojo类和数据库表的映射文件 –>

  <mapping resource=”Goods.hbm.xml” />

 </session-factory> </hibernate-configuration> 3.创建pojo类 一定要给其,get和set方法,因为hibernate是使用get和set方法来进行数据库的增删查改的  private int id;

 private String goodsName;

 private double goodsPrice;

 private String goodsType;

 private int goodsNumber;  public int getId() {

  return id;

 }  public void setId(int id) {

  this.id = id;

 }  public String getGoodsName() {

  return goodsName;

 }  public void setGoodsName(String goodsName) {

  this.goodsName = goodsName;

 }  public double getGoodsPrice() {

  return goodsPrice;

 }  public void setGoodsPrice(double goodsPrice) {

  this.goodsPrice = goodsPrice;

 }  public String getGoodsType() {

  return goodsType;

 }  public void setGoodsType(String goodsType) {

  this.goodsType = goodsType;

 }  public int getGoodsNumber() {

  return goodsNumber;

 }  public void setGoodsNumber(int goodsNumber) {

  this.goodsNumber = goodsNumber;

 }  @Override

 public String toString() {

  return “Goods [id=” + id + “, goodsName=” + goodsName + “, goodsPrice=” + goodsPrice + “, goodsType=”

    + goodsType + “, goodsNumber=” + goodsNumber + “]”;

 } 4.创建和配置pojo类和数据库表的映射文件Goods.hbm.xml 这个文件名可以随便,但后缀以xxx.hbm.xml结尾 <?xml version=”1.0″ encoding=”UTF-8″?>

<!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:实体对应的表名 –>

 <class name=”com.oracle.pojo.Goods” table=”goods”>

  <!– column:数据库表的列 name:实体类中对应的名称  –>

  <!– id标签只配主键,其余的列用property配置 –>

  <id name=”id” column=”id” >

   <!– 主键的生成策略 –>

   <!– 自增长,序列化等等 –> <!–native可以由hibernate自动判断使用的主键生成策略–>

   <generator class=”native”></generator>

  </id>

  <property name=”goodsName” column=”goodsName”></property>

  <property name=”goodsPrice” column=”goodsPrice”></property>

  <property name=”goodsType” column=”goodsType”></property>

  <property name=”goodsNumber” column=”goodsNumber”></property>

 </class>

</hibernate-mapping> 5.测试是否配置成功 我们在第一步已经导入了测试所需要的包,直接使用即可  private Session session = null;

 private Transaction transaction = null;  @Before

 public void Util() {

  // 加载配置文件

  Configuration configuration = new Configuration().configure();

  // 获取session工厂对象

  SessionFactory sessionFactory = configuration.buildSessionFactory();

  // 从工厂获取session对象

  session = sessionFactory.openSession();

  // 开启事务

  transaction = session.beginTransaction();

 }  @org.junit.Test

 public void testName() throws Exception {   //根据主键传入参数查询

  Goods goods = session.get(Goods.class, 1);

  System.out.println(goods);   //提交事务

  transaction.commit();  //关闭连接

  session.close();

 } 结果如下: