【hibernate】01-mysql存储引擎与配置文件分析
2013-04-18 00:30
567 查看
mysql存储引擎与自动提交问题
学习jdbc时jdbc 事物自动提交缺省是true 所以用户的每一条sql语句都会自动提交 不需要用户手工提交但是hibernate 缺省 把自动提交关闭 所以如果当mysql 用的存储引擎是InoDB时必须开启提交事物 对数据库增删改操作才能有效
如果发现不用transaction.commit() 提交 也可以对数据库增删改操作 那是因为mysql 自动默认存储引擎是 MyISAM
它不支持事物提交与回滚。所以开启事物与不开启事物都没作用 都可以数据库增删改操作
在大数据处理的时候InnoDB可能会更快一些 建议用InnoDB
1、查看mysql存储引擎命令,在mysql>提示符下输入show engines;字段 显示内容中Default表示默认存储引擎
2、设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句.
总配置文件分析
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 数据库连接驱动类 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 关于连接数据库的url和用户名和密码--> <property name="connection.url">jdbc:mysql://localhost:3306/hibernatetest</property> <property name="connection.username">root</property> <property name="connection.password">123</property> <!-- 采用的数据库的方言或者说语法格式 --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 表示按照标准格式在控制台上输出SQL语句,默认为false。建议在调试程序时设为true --> <property name="hibernate.format_sql">true</property> <!-- update 加载hibernate自动更新数据库结构--> <property name="hbm2ddl.auto">update</property> <!-- 执行过程中显示hibernate的sql语句 --> <property name="show_sql">true</property> <!-- 定持久化类映射文件的位置,由包名与映射文件组成,包名与映射文件之间用“/”分隔--> <mapping resource="cn/itcast/domin/User.hbm.xml" /> </session-factory> </hibernate-configuration>
注意
<property name="hbm2ddl.auto">update</property>的值可以是 validate create create-drop update
validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构,会删除以前的表。这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出时删除表结构
update 加载hibernate自动更新数据库结构
By 变坏的好人
相关文章推荐
- mysql的优化(表的设计,优化步骤,四种索引,分析慢查询,使用索引的深入解析,存储引擎分析,表的分割,数据库配置)
- MySQL存储引擎和表类型分析
- mysql innerdb引擎数据存储分析
- MySQL连接Hibernate配置properties文件内容
- hibernate连接mysql配置文件
- MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表)
- 基于Mysql存储引擎的深入分析
- MySQL架构,表存储引擎及配置
- Hibernate配置文件连接Mysql
- hibernate-MySQL配置文件及简单应用(CRUD)
- hibernate源码-配置文件加载过程分析
- 使用hibernate自动在MYSQL中创建表,极其简单,改下配置文件。
- mysql存储引擎innodb和myisam的分析比较
- Mysql源码分析--csv存储引擎
- Hibernate3源码分析之hibernate.cfg.xml配置文件与SessionFactory类
- Mysql5.5 InnoDB存储引擎配置和优化
- hibernate之概述,入门案例(配置文件,api)(01)
- mysql 存储引擎 innodb 学习复习 之 文件
- hibernate连接mysql配置文件 分享
- 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析