hibernate 配置自动创建表
Spring和hibernate集合的框架中只要在applicationContext.xml文件中配置如下:
<prop key="hibernate.hbm2ddl.auto">update</prop>
Hibernate框架中只要在hibernate.cfg.xml里加上如下代码:
<property name="hbm2ddl.auto">update</property>
update:只是更新,没有就创建
create: 每次都是新创建
create-drop: 用完就会删除表
hibernate.cfg.xml 可以通过idea自动生成
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration><session-factory><property name="connection.url"/><property name="connection.driver_class"/><property name="connection.username"/><property name="connection.password"/><property name="dialect">org.hibernate.dialect.MySQLDialect</property><!-- DB schema will be updated if needed -->
<!-- 可选值 update,create,create-drop(用完就删)--><property name="hbm2ddl.auto">create</property></session-factory>
</hibernate-configuration>
idea 生成hibernate-cfg.xml步骤
file->projectsTructure->+ hibernate->create hibernate.cfg.xml->Apply->ok
如果spring配置文件中配置过了sessionfactory,那么这里的hibernate.cfg.xml 会自动补充上url,driverclass,password 的值
如果是单一框架hibernate,则需要手动填入属性值
使用java代码读取配置生成数据表
@Testpublic void testCreateTables(){Configuration cfg=new Configuration().configure();SessionFactory sessionFactory=cfg.buildSessionFactory();Session session=sessionFactory.openSession();session.beginTransaction();Noodles noodles=new Noodles();noodles.setNoodlesName("兰州拉面");session.save(noodles);session.getTransaction().commit();session.cose();}
注意需要给实体类加上各自的entity.hbm.xml 配置文件来映射(而我是使用的注解)
所以代码需要改变,来读取被注解标注的实体类,否则hibernate只是认为实体是简单的java类
@Testpublic void testCreateTables(){Configuration cfg=new Configuration().configure();SessionFactory sessionFactory= cfg.configure()// 可以add 多个被注解的实体类// 相比单独的在hibernate.cfg.xml 中配置每个实体的映射要简单得多.addAnnotatedClass(Noodles.class).buildSessionFactory();Session session=sessionFactory.openSession();session.beginTransaction();Noodles noodles=new Noodles();noodles.setNoodlesName("兰州拉面");session.save(noodles);session.getTransaction().commit();session.close();}
效果:中文乱码,需要给url加上编码限制
乱码解决:
1,修改数据库编码 navicat ->右键数据库->数据库属性->设置编码
2.连接指定编码
?characterEncoding=utf-8
hibernate 配置自动创建表相关推荐
- hibernate mysql 自动建表_配置hibernate根据实体类自动建表功能
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码 Xml代码update upda ...
- Hibernate连接mysql数据库并自动创建表
天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...
- Hibernate 自动创建表
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 在 hibernate.cfg.xml 添加这句话,可以自动生成数据表 : <prope ...
- Hibernate自动创建表
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 一.通过Hibernate的ShemaExport来创建 1)实体类 package com.xiaomo. ...
- A.CTable开源框架Mybatis增强自动创建表/更新表结构/实现类似hibernate共通的增删改查-mybatis-enhance-actable
mybatis-enhance-actable-1.3.1.RELEASE 项目已更新既支持传统Spring项目也支持Springboot项目,同时支持tk.mybatis能够支持更强大的CUDR(为 ...
- Java自动切表_java_Mybatis自动创建表和更新表结构,最近有小伙伴问我mybatis有没有 - phpStudy...
Mybatis自动创建表和更新表结构 最近有小伙伴问我mybatis有没有自动创建表结构的功能,因为他们之前一直使用hibernate用习惯了,理所当然的认为,在实体类上配置下注解或者写写映射文件,系 ...
- Hibrenate实现根据实体类自动创建表或添加字段
Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...
- Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能实现自动创建表结构的解决办法:...
一:今天遇到一个诡异的问题,就是关于hibernate3.x实现表结构自动创建,一般我们在用Struts2,Hibernate3.x,Spring3.x搭建框架,尤其在开发阶段都希望在启动Web容器时 ...
- Beego使用orm自动创建表结构(结构化目录--亲团队开发)
关于 Beego 框架,这里不再赘述.beego官方网站 一.什么是orm,为什么要用orm? orm (Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面 ...
最新文章
- Angular rxjs里自定义operator的使用
- 洛谷-图的遍历-P2661-信息传递
- 辐射避难所服务器维护,《辐射:避难所Online》6月2日停服维护更新公告
- HTML期末作业-宠物网
- virtualbox报错:Failed, trying without DKMS的解决方案
- LeetCode112. 路径总和(DFS)(递归)
- 求传递闭包c语言具体编程,实验一_传递闭包的实现.doc
- 服务器的分类都有哪几种?
- element-plus 中loading 自定义图片
- ipa包瘦身之图片无损压缩瘦身
- qt中如何模拟按钮点击_qt模拟鼠标单击事件
- 你评论,我赠书~【TFS-CLUB社区 第11期赠书活动】〖Unity手机游戏开发:从搭建到发布上线全流程实战〗等你来拿,参与评论,即可有机获得
- windows2016安装AD域
- 18位身份证号码最后一位校验
- uni-app使用vue-i18n实现国际化(中英文切换)
- String中与获取相关的几个方法
- 甲骨文java计算机考证
- python pandas dataframe 获取除了指定列以外的所有列
- 什么!脑机接口可让中风患者快速,准确的打字?
- 适用于 Windows 的 5 大 PDF 编辑器
热门文章
- 【认证】【澳大利亚】澳大利亚认证相关,Freeview EPG
- linux设置用户名密码命令,Linux设置(修改)用户密码命令-passwd | IT运维网
- [附源码]PHP计算机毕业设计会议室预约系统(程序+LW)
- 使用unity完成华为游戏的初始化和华为帐号登录
- 进来学习,这个拿墨刀产品素材设计大赛万元大奖的原型设计超强
- Proxmox ve 开启嵌套虚拟化
- python画不同颜色的直方图_Python与机器视觉(x) 颜色直方图
- Java面向对象程序设计(第二版)袁绍欣 第十章课后习题答案
- EasyUI tabs click监听
- 如何阻止移动设备(手机,pad)浏览器双击放大网页?