首页 > 编程 > Java > 正文

Hibernate的Annotation版Hello world实例

2019-11-26 14:29:31
字体:
来源:转载
供稿:网友

本文实例讲述了Hibernate的Annotation版Hello world实现方法。分享给大家供大家参考,具体如下:

需要引入的包:hibernate-commons-annotations-4.0.4.Final.jar
由于我使用的是:hibernate-release-4.3.5.Final,在required目录下已经有了。

bean:

import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="teacher")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;  }  @Column(name="name")  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  @Column(name="title")  public String getTitle() {    return title;  }  public void setTitle(String title) {    this.title = title;  }}

对应的hibernate.cfg.xml文件:

<?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">com.mysql.jdbc.Driver</property>    <property name="connection.url">jdbc:mysql://localhost/hibernate</property>    <property name="connection.username"></property>    <property name="connection.password"></property>    <!-- JDBC connection pool (use the built-in) -->    <!--    <property name="connection.pool_size">1</property>     -->    <!-- SQL dialect -->    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>    <!-- Enable Hibernate's automatic session context management -->    <property name="current_session_context_class">thread</property>    <!-- Disable the second-level cache -->    <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>    <!-- Echo all executed SQL to stdout -->    <property name="show_sql">true</property>    <!-- Drop and re-create the database schema on startup -->    <!--    <property name="hbm2ddl.auto">update</property>    -->    <mapping resource="com/hibernate/model/Student.hbm.xml"/>    <mapping class="com.hibernate.model.Teacher"/>  </session-factory></hibernate-configuration>

测试类:

import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;import com.huxing.hibernate.model.Student;import com.huxing.hibernate.model.Teacher;public class StudentTest {  public static void main(String[] args) {    Student a = new Student();    a.setId(123);    a.setAge(32);    a.setName("hello hibernate!");    Teacher tea = new Teacher();    tea.setId(4);    tea.setName("mysql");    tea.setTitle("high");    Configuration cfg = new AnnotationConfiguration();    SessionFactory cf = cfg.configure().buildSessionFactory();    Session session = cf.openSession();    session.beginTransaction();    session.save(tea);    session.getTransaction().commit();    session.close();    cf.close();  }}

注意:代码省略了包路径。

其他方面:

1.注解可以加在属性上,也可以加在get方法上。
2.注解的mapping和xml配置的xml的不同!一个是resource,一个是class。

希望本文所述对大家Hibernate框架程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表