一,建立工程项目
不论使用idea,eclipse还是eclipse,都只需要建立普通的java项目即可
二,引入类包
写最简单的hibernate代码,只需要hibernate核心jar包即可,去hibernate官网下载最新版本,解压开,将文件夹内部的lib下的required文件夹内部的jar包都拷过来.这些都是需要的.
三,配置hibernate.cfg.xml文件
这个文件,建立在代码文件夹src下.我们不用从头开始写,有一个模板,在刚才的解压包下面的project/etc/下面,将hibernate.cfg.xml拷贝过来,删除session-factory标签内部的内容和它的name属性,下面是一个最简单的初始配置:
<?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>
<!-- 这里的数据库链接的设置我们可以在project/etc/下面hibernate.properties里面找到对应各种不同数据库的设置,复制过来修改一下就好了-->
<!-- 这是sql方言,这里是转化为mysql方言-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 设置mysql驱动-->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 设置数据库链接语句-->
<property name="connection.url">jdbc:mysql:///hibernate</property>
<!-- 设置数据库用户名-->
<property name="connection.username">root</property>
<!-- 设置数据库密码-->
<property name="connection.password">root</property>
<!-- 将Student类映射到数据库的方式的配置,看了这个设置我们知道需要写一个Student类-->
<mapping resource="com/geekgao/hibernate/model/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
亖,写我们的Student类,将他映射到数据库
如第三步配置中写的一样,我们需要一个Student类,映射到数据库,这个类写个简单的,只有一个属性即可.
//只需要属性和属性的get,set方法即可
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
现在我们需要写Student.hbm.xml文件将这个类映射到数据库,这个名称最好是写成这样:类名.hbm.xml,这已经是约定俗成的了.这个文件的位置需要和它所映射的类在同一个地址,下面是最简单的一个映射实例:
<?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 package="com.geekgao.hibernate.model">
<!-- 类名和他在数据库表中所对应的表明-->
<class name="com.geekgao.hibernate.model.Student" table="student">
<!-- id代表主键,name是类中属性名,column代表它在数据库表中所对应的列名-->
<id name="name" column="name"/>
<!-- 如果还有其他的数据项,用property标签添加-->
<!-- eg: <property name="age" column="age"/>-->
</class>
</hibernate-mapping>
五,写测试代码检验
1,让hibernate根据我们的配置自己在数据库中建立表
@Test
public void creatTable() {
Configuration cfg = new Configuration().configure();
SchemaExport se = new SchemaExport(cfg);
//第一个true:是否将建立表的语言打印出来
//第二个true:是否真实的在数据库中创建表
se.create(true,true);
}
2,插入数据到表中
@Test
public void insertData() {
Configuration cfg = new Configuration().configure();
StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties());
ServiceRegistry service = ssrb.build();
SessionFactory factory = cfg.buildSessionFactory(service);
Session session = factory.openSession();
Transaction tx = session.beginTransaction();
Student s1 = new Student();
s1.setName("mangseng");
s1.setAge(23);
try {
//存储
session.save(s1);
//提交事务
tx.commit();
} catch (Exception e) {
//事务不成功就回滚
tx.rollback();
} finally {
//关闭session
session.close();
}
}
以上就是最简单的一个hibernate样例.