Hibernate会自动帮我们去生成数据库表,首先写好配置文件,然后运行程序会自动的根据我们的配值生成所需要的表。
这里注意一下Hibernate.hbm2ddl.auto这个属性,这个属性有四个值,分别是create-drop、create、update、validate
create-drop:表示每次项目启动时都会生成表,结束时又删除表
create:表示每次项目启动时都会重新生成表
update:表示每次项目启动时都回去更新表
validate:表示每次项目启动时都回去进行校验,如果表结构与配置文件中的表结构不一致就会报错
在自己做测试的时候可以给Hibernate.hbm2ddl.auto赋值为create
这些准备工作做好后,我们试着向mysql数据库插入数据,有些时候我们看到项目运行正常,但是数据却没有插入,这是为什么呢,是因为我们没有开启事物,hibernate要求对表进行增、删、改的时候要开启事务。
但是如果使用的mysql的数据库版本为5.0以下的话,如果没有开启事务也可以插入数据库,这是因为这些数据库的默认引擎是MYISAM,这种引擎不支持事物,这是就要把数据库引擎改为INNODB就行了