由于项目的原因目前需要一些简单注解,于是就做了个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配置文件
org.hibernate.dialect.MySQL5Dialect jdbc:mysql://localhost:3306/eat root lp6163271 com.mysql.jdbc.Driver true true
其中配置文件还是基本和原来一致的,一定要加上,否则会找不到映射文件而报错。 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); Listlist=query.list(); System.out.println(list); }}
这要强调的是 得到SessionFactory 不再是 new一个configuration 而是 AnnotationConfiguration 5、配置好了之后,就可以调试成功了。 虽然这个demo简单,刚开始做jar包的问题搞了好大一会,还有后来编写测试类new的对象不对,每天进步一点点。 驾驾驾!