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的对象不对,每天进步一点点。 驾驾驾!


posted @ 2014-04-15 22:47  以梦为码  阅读(378)  评论(0编辑  收藏  举报