hibernate平台搭建

搭建环境:

jdk1.6 + hibernate 3

 

hibernate3 的下载地址:http://nchc.dl.sourceforge.net/project/hibernate/hibernate3/3.5.5-Final/hibernate-distribution-3.5.5-Final-dist.zip

 

附件中书包含所必需的jar包

1.导入hibernate相应的jar包:  


 
 我当时下载的是hibernate-distribution-3.5.5-Final-dist,但只选用里面的必选required包之后会报错,因为少了一个slf4j-nop-1.5.2.jar这个包,所以单独下载了这个包

2,写hibernate配置文件 hibernate.cfg.xml(此文件直接放在src下面):

 

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
      <session-factory name="test">

        <property name="hibernate.hbm2ddl.auto">create</property>
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>

        <property name="connection.useUnicode">true</property>
        <property name="connection.characterEncoding">UTF-8</property>

        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test1</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>

        <mapping resource="mapping/Member.hbm.xml"/>
     </session-factory>
</hibernate-configuration>

 说明:

hibernate.hbm2ddl.auto:自动创建表,当数据库不存在要操作的表时,将会自动进行创建,所以在执行完第一次hibernate操作后便可以注释这个属性

show_sql:打印执行的hql语句

format_sql:将show_sql打印出来的sql语句进行格式化

 

connection.useUnicode:使用编码

connection.characterEncoding:设置编码格式

(connection.useUnicode,connection.characterEncoding当自己在乱码中挣扎时,这两句相当重要)

hibernate.dialect:设置hibernate方言

mapping:对象与数据库表的映射文件

3.编写一个Member类:

public class Member implements Serializable{
    private Integer mid;
    private String name;
    private Character sex;

    public Member() {
    }

    public Member(Integer mid, String name, Character sex) {
        this.mid = mid;
        this.name = name;
        this.sex = sex;
    }

    public Integer getMid() {
        return mid;
    }

    public void setMid(Integer mid) {
        this.mid = mid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Character getSex() {
        return sex;
    }

    public void setSex(Character sex) {
        this.sex = sex;
    }
}

 3.编写Member类与数据库表的映射文件 Member.hbm.xml(此文件的地址与hibernate.cfg.xml中mapping路径要相同):

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="mapping">
    <class name="mapping.Member" table="member">
        <id name="mid">
            <generator class="identity"></generator>
        </id>
        <property name="name"></property>
        <property name="sex"></property>
    </class>
</hibernate-mapping>

 4.创建Mysql数据库,数据库名为test1(仅仅只创建数据库即可)

5.编写测试类 HibernateTest

public class HibernateTest {
    public static void main(String[] args) {
        Configuration cfg = new Configuration();
        cfg.configure();
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction t = session.beginTransaction();
        Member member = new Member();
        member.setName("潘明志2");
        member.setSex('男');
        session.save(member);
        t.commit();
        session.close();
    }
}

 运行后便会看到控制台会打印出下面的语句

Hibernate: 
    insert 
    into
        member
        (name, sex) 
    values
        (?, ?)

 运行成功后便可以注释hibernate.cfg.xml中hibernate.hbm2ddl.auto这个属性了,如果不注释,那数据库的的member表中永远就只有一条数据.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值