两者都是ORM映射框架
二.Mysql 的存储引擎 2.1 Innodb(5.7以上默认默认):
- hibernate是面向对象的,而MyBatis是面向关系的。
- hibernate方便、自动化更强,而MyBatis 在Sql语句编写方面则更灵活自由
- 面向对象考虑的是对象的整个生命周期包括在对象的创建、持久化、状态的改变和行为等,对象的持久化只是对象的一种状态,而面向关系型数据库的概念则更关注数据的高效存储和读取;
- 面向对象强调对象状态的封装性,对象封装自己的状态(或数据)不允许外部对象随意修改,只暴露一些合法的行为方法供外部对象调用;而关系型数据库则是开放的,可以供用户随意读取和修改关系,并可以和其他表任意的关联(只要sql正确允许的情况下);
- 面向对象动态的。而关系型模型,静态的
传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。
2.2 MyISAM(5.5以下下默认) 2.3 数据库是否大小写敏感:数据库中的表是以文件的形式存放到磁盘中。
三.SpingData JPA 实操建表
- 在windows中,文件是不区分大小写的所以,数据库在windows中是大小写不明感
- 在linux中,文件是区分大小写的,所有数据库在linux是大小写敏感的
- 总结:数据库最终是部署到linux上,所以总的来说数据库看成大小写敏感对待。
第一步,创建一个Spring工厂,导入依赖
org.springframework.boot spring-boot-starter-data-jdbc org.springframework.boot spring-boot-starter-web mysql mysql-connector-java runtime org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok
第二步,配置application.properties
spring.datasource.username=root spring.datasource.password=1234 spring.datasource.url=jdbc:mysql:///test02?serverTimezone=Asia/Shanghai # 配置 JPA # 配置数据库 spring.jpa.database-platform=mysql spring.jpa.database=mysql # 在控制台打印 SQL spring.jpa.show-sql=true # 每当项目启动的时候,自动去检查数据表和对象是否一一对应,如果不对应,就以对象为准,更新数据表 spring.jpa.hibernate.ddl-auto=update # MyISAM InnoDB 指定数据库方言 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
第三步,创建实体类User
@Data
@Entity(name = "t_user")
public class User {
//设置当前属性为主键
@Id
//设置 MySQL 主键自增
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
//默认情况下,username 属性生成的字段也叫 username
//设置字段名称、创建唯一性索引、设置字段长度
@Column(name = "name",unique = true,length = 32)
private String username;
private String address;
}



