hibernate入门

来源:互联网 发布:手机淘宝开店怎么注册 编辑:程序博客网 时间:2024/06/11 21:48

1首先在数据库中建立一个用户表User(我推荐刚起步的时候这样起名字,因为它会和你接下来的类名相同,减少出错误的可能性)
这里写图片描述
2我这里用的是idea,但是你用其他IDE也一样,没有关系。建立一个User类。

public class User {    private int userId;    private String userName;    private String password;    public int getUserId() {        return userId;    }    public void setUserId(int userId) {        this.userId = userId;    }    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;    }}

3然后开始建立hibernate的配置文件。
首先建立orm文件(就是把你建立的User类和数据库中的User表关联起来)
这个文件可以随便起名字,但为了规范(也就是别人看的懂)一般都是 类名+hbm.xml.
所以我们这里User的映射文件名为: User-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的重点不是配置文件)

<?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="model"><!--  配置信息--></hibernate-mapping>

这里写图片描述
我担心不能把颜色显示出来所以我把图片上传了。

<hibernate-mapping package="model"><!--  配置信息--></hibernate-mapping>

model就是根标签(没有为什么,规定就是这样),里面有一个package属性,就是写你类的包名(这个包名可以写在这里,接下来写全类名的时候,你就写类名就可以了,不用加包名)。如果你这里没写package这个属性也没事,在下面写包名的时候写全类名就可以了。

class
hibernate-mapping的下一个标签就是class标签,看名字就可以猜到,接下来我们要写类的一些信息了。
类的第一个属性当然就是类名了,因为我们前面已经指定来包名,所以这里直接写User就可以了。当然也需要下这个类所映射的表名,当然也是User了。

每一张表中都有主键,也就是id。所以id这个标签是用来指定id的。
name属性是类中的字段的名称。也就是User 中的private int userId这个变量。
所以name=”userId”

cloumn属性User表中对应的字段,当然也是userId(当时我们为了减少出错的可能性全部用来相同的名字,其实在实际开发中也是尽量用相同的名字)

type类型:就是###类###中数据的类型

因为我们这里id是int类型,为了方便我们希望id以自增的方式,所以又加了一个 generator 标签,它的class值为increment。

除了id之外其他字段全部用property标签,它和id大同小异,也是写column,name,type这三个属性值。
这里我就不再重复讲了.

好了,orm文件写完来,接下来就是hibernate的配置文件。
建议大家起的名字为 hibernate-cfg.xml 很直观,就是hibernate config的缩写嘛。

<?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>        <!-- Database connection settings -->        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>        <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>        <property name="connection.username">sa</property>        <property name="connection.password"></property>        <mapping resource="mapping/User-hbm.xml"/>    </session-factory></hibernate-configuration>

开始标签就是hibernate-configuration这没什么可以讲的。
接下来就是session-factory:如何理解session-facotry呢,其实它就是一个连接工厂,在jdbc里面连接是Connection,在hibernate里面连接时Session。
在yongjdbc连接的时候,我们需要加载jdbc驱动,用户名,密码,url同样在这里也需要这些的加载。
当然加载完这些之后,我们需要将映射文件也配置进去。

也就是mapping标签,我们这里只有一个映射文件,因此只写一个mapping。

好了,现在貌似基本都完了,我们来实践一下吧。

        Configuration configuration=new Configuration();        configuration.configure("hibernate-cfg.xml");        SessionFactory sessionFactory=configuration.buildSessionFactory();        User user=new User();        user.setUserName("liu");        Session session=sessionFactory.openSession();        Transaction transaction=session.beginTransaction();        session.save(user);        transaction.commit();

解释一下这段代码,Configuration就是配置,SessionFactory就是链接工厂,Session就是连接,Transaction就是事物,学过数据库事物有一个特点就是要么全部执行成功,要么全部都不成功。
这里写图片描述

0 0
原创粉丝点击