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好像不会删除已存在的列,这个专门写一篇帖子记录吧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步