Hibernate注解学习1

由于项目的原因目前需要一些简单注解,于是就做了个hibernate注解的小demo,来记录一下。

1、需要引入jar包
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
slf4j-api-1.5.2.jar
slf4j-log4j-1.5.2.jar

2、hibernate.cfg.xml配置文件
<hibernate-configuration>



<session-factory>

    <!--方言:用于指定数据库类型,生成相应数据库的sql语句  -->

    <property name="dialect">

            org.hibernate.dialect.MySQL5Dialect

    </property>

    <property name="connection.url">

    jdbc:mysql://localhost:3306/eat

    </property>

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

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

    <property name="connection.driver_class">

        com.mysql.jdbc.Driver

    </property>

    <!-- 显示hibernate自动生成的sql语句 -->

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

    <!-- 将显示出来的格式化一下 -->

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

    

    <mapping class="test.Anno"/>    

</session-factory>



</hibernate-configuration>
其中配置文件还是基本和原来一致的,一定要加上 <mapping class="test.Anno"/> ,否则会找不到映射文件而报错。

3、实体类
package test;



import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;



@Entity

@Table(name="test")

public class Anno {

	

	private int id;

	

	private String name;



	@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;

	}



	@Override

	public String toString() {

		return "Anno [id=" + id + ", name=" + name + "]";

	}

	

	

}

  

@Entity  实体类

@Table(name="test") 关联的表名
@id 主键

4、编写测试类
 
   
package test;



import java.util.List;



import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.AnnotationConfiguration;

import org.hibernate.cfg.Configuration;

import test.Anno;



public class Test {



    public static void main(String[] args) {

        SessionFactory sf=new AnnotationConfiguration().configure("/hibernate.cfg.xml").buildSessionFactory();

        Session session=sf.openSession();

        String hql=" from Anno";

        Query query=session.createQuery(hql);

        List<Anno> list=query.list();

        System.out.println(list);

    }



}

 
   

  

 
这要强调的是 得到SessionFactory 不再是 new一个configuration 而是 AnnotationConfiguration

5、配置好了之后,就可以调试成功了。

虽然这个demo简单,刚开始做jar包的问题搞了好大一会,还有后来编写测试类new的对象不对,每天进步一点点。 驾驾驾!


你可能感兴趣的:(Hibernate)