初识hibernate
orm对象关系映射,是一种程序技术,对象和关系(数据库)的映射,hibernate就使用了这一技术,
通过配置可以实现在IDE上对数据库进行DML和DDL操作,不用写繁琐的sql语句。
今天简单的对一张表进行创建,数据增删改查。
-
放各种jar包到lib目录下,新建一个类和与类同名的xml文件。
xml中代码如下:
<hibernate mapping
package="包的全名">
<class name="类名" table="表名" lazy="true">
<id name="主键名" 列名默认相同,可省略,还可以设置长度等等>
<geberator class="native" />
</id>
<property name="其他键名" />
</class>
<hibernate mapping>
-
在项目src目录下新建xml文件
配置数据库连接,在Mappings中添加需要映射的类,可以直接拖进去
xml中声明使用的数据库语言为oracle
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
至此基本配置已完成,写个测试类测试配置是否正确。
public void testCreateTable()
{
Configuration cfg=new Configuration().configure();
SchemaExport export=new SchemaExport(cfg);
export.create(true, true);
}
创建表成功
public void testSave(){
//1、拿到配置文件
Configuration cfg=new Configuration().configure();
//2、拿到工厂
SessionFactory sessionFactory = cfg.buildSessionFactory();
//3、拿到工厂里的session
Session session = sessionFactory.openSession();
//4、开启事务
session.beginTransaction();
try {
//5执行
Classes cs = new Classes();
cs.setClassName("一班");
session.save(cs);
//6提交
session.getTransaction().commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
session.getTransaction().rollback();
}finally{
//7关闭
session.close();
}
}
增加数据成功
Classes cs = (Classes)session.load(Classes.class, 1);
cs.setClassName("二班");
session.update(cs);
修改需要先查到数据
Classes cs = (Classes)session.load(Classes.class, 1);
session.delete(cs);
删除数据