用JUnit4自动生成Mysql的表,分别用xml与annotation方式
2011-11-11 20:03
246 查看
首先:在hibernate.cfg.xml中:
<mapping resource="com/mapping/msb/Student.hbm.xml"/>
<mapping class="com.mapping.msb.Teacher"/>
第二:做映射
xml映射:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.mapping.msb.Student" table="student">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
</class>
</hibernate-mapping>
annotation映射:
@Entity
public class Teacher {
private int id;
private String name;
@Id
public int getId() {
return id;
}
……
第三:写Junit4文件
public class TestStudent {
public void testSchemaExport(){
//new SchemaExport(new Configuration().configure()).create(true, true);
new SchemaExport(new AnnotationConfiguration().configure()).create(true, true);
}
}
public class TestTeacher {
@Test
public void testSchemaExport(){
//new SchemaExport(new Configuration().configure()).create(true, true);
new SchemaExport(new AnnotationConfiguration().configure()).create(true, true);
}
}
测试成功
------------------------------------------------------------------Over---------------------------------------------------------------------------
注意以下几点:
1.如果忘了导入mysql的jar包,是不会报错的,但也不能建表。
2.当xml方式和ann方式都存在时,只能用AnnotationConfiguration()
3. 只要hibernate.cfg.xml中有,就会生成表
4.有时利用Myeclipse生成的java文件前面没有"+"号,也就是在JUnit4中不能测试单个@Test.
解决办法,调出OutLine窗口。
<mapping resource="com/mapping/msb/Student.hbm.xml"/>
<mapping class="com.mapping.msb.Teacher"/>
第二:做映射
xml映射:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.mapping.msb.Student" table="student">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
</class>
</hibernate-mapping>
annotation映射:
@Entity
public class Teacher {
private int id;
private String name;
@Id
public int getId() {
return id;
}
……
第三:写Junit4文件
public class TestStudent {
public void testSchemaExport(){
//new SchemaExport(new Configuration().configure()).create(true, true);
new SchemaExport(new AnnotationConfiguration().configure()).create(true, true);
}
}
public class TestTeacher {
@Test
public void testSchemaExport(){
//new SchemaExport(new Configuration().configure()).create(true, true);
new SchemaExport(new AnnotationConfiguration().configure()).create(true, true);
}
}
测试成功
------------------------------------------------------------------Over---------------------------------------------------------------------------
注意以下几点:
1.如果忘了导入mysql的jar包,是不会报错的,但也不能建表。
2.当xml方式和ann方式都存在时,只能用AnnotationConfiguration()
3. 只要hibernate.cfg.xml中有,就会生成表
4.有时利用Myeclipse生成的java文件前面没有"+"号,也就是在JUnit4中不能测试单个@Test.
解决办法,调出OutLine窗口。
相关文章推荐
- java_Eclipse自动生成作者、日期注释等功能设置_导入 xml方式
- Unity Android 交互 三 多个Module分别生成 arr 导入Unity自动合并AndroidManifest.xml
- mac下 mybatis-generator命令行方式自动生成mapper、model、xml
- Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml (mysql)
- mysql根据数据库自动生成实体(dto,service,impl,mybatis,xml)
- Java工具类_表结构自动生成对应的实体类、Mapper.xml文件、Dao类
- PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
- eclipse逆向生成实体类注解方式或者xml方式
- 使用 Hibernate Tools 自动生成hbm.xml及model java文件
- 用Middlegen-Hibernate自动生成hbm.xml文件
- Python――flask-sqlalchemy 自动生成符合Sqlachemy的Model:sqlautocode/sqlacodegen使用方式
- python之自动生成解析xml的C++类
- mybatis-generator 代码自动生成工具使用讲解(maven方式)
- applicationcontext.xml中sessionFactory、transactionManager等自动生成
- 使用generator自动生成mybatis model、mapper.xml、mapper等(转)
- tigercode是一款自动代码生产工具,支持springmvc+spring+mybatis或springmvc+spring+hibernate框架生成,数据库支持mysql ,oracle
- mysql无法启动问题的解决方案:mysql.sock重启不自动生成,mysqld_safe启动报错
- 不能自动生成.hbm.xml 出错
- generator自动生成mybatis的xml配置
- MyBatis-自动生成pojo、mapper和mapper.xml