8.0注解方式代替映射文件
Posted chxbar.cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8.0注解方式代替映射文件相关的知识,希望对你有一定的参考价值。
1.Book类
package cn.siggy.pojo; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; //entity表示需要持久化的实体类 @Entity //实体类 所对应的表 @Table(name="t_book") public class Book { //id主键 @Id //指定 主键生成策略 @GeneratedValue(strategy=GenerationType.AUTO) private int id; private String name; private double price; private String author; private Date pubDate; /*get/set*/ }
2.hibernate.cfg.xml【注解方式不需要Book.hbm.xml映射文件,但需要在*.cfg.xml中引入:<mapping class="cn.siggy.pojo.Book" />】
<!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> <property name="connection.url">jdbc:mysql:///hibernate4</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!--hibernate可选项 --> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">update</property> <!-- hbm文件 --> <mapping class="cn.siggy.pojo.Book" /> </session-factory> </hibernate-configuration>
3.测试代码
package cn.siggy.test; import java.util.Date; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.junit.Test; import cn.siggy.pojo.Book; import cn.siggy.util.HibernateUtil; public class HibernateTest { @Test public void testCreateDB(){ //3.x //Configuration cfg = new AnnotationConfiguration().configure(); Configuration cfg = new Configuration().configure(); SchemaExport se = new SchemaExport(cfg); se.create(true, true); } @Test public void testSave(){ Session session = HibernateUtil.getSession(); Book book = new Book(); book.setName("丰乳肥臀"); book.setPrice(60.5); book.setAuthor("莫言"); book.setPubDate(new Date()); Transaction tx = session.beginTransaction(); session.save(book); tx.commit(); HibernateUtil.closeSession(); } }
4.测试结果
以上是关于8.0注解方式代替映射文件的主要内容,如果未能解决你的问题,请参考以下文章
《Java从入门到放弃》入门篇:使用注解的方式配置hibernate映射关系
hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系
《Java从入门到放弃》入门篇:使用注解的方式配置hibernate映射关系