java hibernate里从类创建数据库表

hibernate核心的配置文件应该就是hibernate.cfg.xml了,刚刚新建的eclipse(版本号2024-09 (4.33.0))空项目里没有这个文件,需要自己创建,在src/main/resources/目录下创建。一个简单的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<hibernate-configuration>
 
<session-factory>
    <property name="dialect">
        org.hibernate.dialect.MySQL8Dialect
    </property>
    <property name="connection.url">
        jdbc:mysql://localhost:3306/XXX
    </property>
    <property name="connection.username">root</property>
    <property name="connection.password">123</property>
    <property name="connection.driver_class">
        com.mysql.jdbc.Driver
    </property>
    <property name="myeclipse.connection.profile">MyDBAccount</property>
    <property name="show_sql">true</property>
     <property name="hbm2ddl.auto">update</property>
    <mapping class="helloWorld.User"></mapping>
    
</session-factory>
</hibernate-configuration>

 

其中的XXX是要连接的数据库的名字,我是以用户root和密码123登陆的,3306是mysql的默认端口。上面的dialect的值应该要折腾一下,可能因mysql版本而异。

mapping标签用来声明增添一个要映射的class,hibernate会在数据库里为它建立一张对应的表。

创建的时机是每次程序启动,hibernate初始化的时候。 不会每次都创建,有就不再创建,再检查类里有没有新增的字段,有则在表里插入列。这样的行为被称为update,比较常用,在标签hbm2ddl里指定,也可以选别的行为,例如create,每次都重新创建。

另外update好像不会删除已存在的列,这个专门写一篇帖子记录吧。

 

posted @   shanxin1954  阅读(8)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示