您的位置:首页 > 数据库 > MySQL

Hibernate4使用Annotation连接访问MySQL的小例子

2014-10-17 15:28 399 查看
1、创建一个Teacher类

[java] view
plaincopy

package com.model;  

  

import javax.persistence.Entity;  

import javax.persistence.Id;  

  

@Entity  

public class Teacher {  

    private int id;  

    private String name;  

    private String title;  

      

@Id   

    public int getId() {  

        return id;  

    }  

    public void setId(int id) {  

        this.id = id;  

    }  

    public String getName() {  

        return name;  

    }  

    public void setName(String name) {  

        this.name = name;  

    }  

    public String getTitle() {  

        return title;  

    }  

    public void setTitle(String title) {  

        this.title = title;  

    }  

      

}  

--------Teacher类中使用Annotation

2、设置表结构,创建数据库和数据表

[sql] view
plaincopy

create database hibernate;  

  

use hibernate;  

  

create table teacher(  

    id int primary key,  

    name varchar(20),  

    title varchar(20)  

);  

3、设置Hibernate配置文件hibernate.cfg.xml,其位置位于src下

[html] view
plaincopy

<?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>  

        <!-- 连接的数据库驱动 -->  

        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  

        <!-- 连接的数据库的url -->  

        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>  

        <!-- 连接的数据库的用户名-->  

        <property name="connection.username">root</property>  

        <!-- 连接的数据库的密码 -->  

        <property name="connection.password"></property>  

        <!-- 配置Hibernate数据库方言 -->  

        <property name="Dialect">org.hibernate.dialect.MySQLDialect</property>  

        <!-- 输出执行的SQL语句 -->  

        <property name="show_sql">true</property>  

        <!-- 启动时撤销并重新创建数据库的模式 -->  

        <property name="hbm2ddl.auto">update</property>  

  

        <mapping class="com.model.Teacher"/>  

    </session-factory>  

</hibernate-configuration>  

4、建立测试类,测试

[java] view
plaincopy

package com.test;  

  

import org.hibernate.Session;  

import org.hibernate.SessionFactory;  

import org.hibernate.Transaction;  

import org.hibernate.cfg.Configuration;  

import org.hibernate.service.ServiceRegistry;  

import org.hibernate.service.ServiceRegistryBuilder;  

  

import com.model.Teacher;  

  

public class TeacherTest  {  

    public static void main(String[] args) {  

        Teacher teacher = new Teacher();  

        teacher.setId(2);  

        teacher.setName("黎明");  

        teacher.setTitle("教授");  

          

        Configuration cfg = new Configuration();  

        cfg.configure();  

        ServiceRegistry  sr = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();   

        SessionFactory  sf = cfg.buildSessionFactory(sr);  

        Session s = sf.openSession();  

        Transaction tx = s.beginTransaction();  

          

        s.save(teacher);  

        tx.commit();  

        s.close();  

        sf.close();  

    }  

}  

5、运行测试类,并查看表中是否已添加一条数据记录,且后台输出执行的SQL语句:Hibernate: insert into Teacher (name, title, id) values (?, ?, ?)。

注意:项目建立时需将Hibernate的jar包(位于hibernate-release-4.1.2.Final\lib\required下的所有包)和MySQL的JDBC的包导入到项目中去;

cfg.configure()默认配置文件为hibernate.cfg.xml,即cfg.configure()等价于cfg.configure("hibernate.cfg.xml"),若配置文件不是这个名则必须指定配置文件名。

-------------------------------------------------------------------------------------------------------------------

其中,org.hibernate.cfg.AnnotationConfiguration已经弃用,直接使用org.hibernate.cfg.Configuration即可,创建语句Configuration cfg = new Configuration()而不是AnnotationConfiguration cfg = new AnnotationConfiguration()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: