标签:序列化 XML 提交 hbm ati ice eclips begin 增删查改
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();
}
结果如下:
使用maven和myeclipse配置hibernate以及基本的入门程序
标签:序列化 XML 提交 hbm ati ice eclips begin 增删查改
原文地址:https://www.cnblogs.com/mhm111/p/11362856.html