栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

整合dao(一)两种映射框架

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

整合dao(一)两种映射框架

一.Spring Data JPA (底层hibernate)和 MybaTis 的对比

两者都是ORM映射框架

  1. hibernate是面向对象的,而MyBatis是面向关系的。
  2. hibernate方便、自动化更强,而MyBatis 在Sql语句编写方面则更灵活自由
  3. 面向对象考虑的是对象的整个生命周期包括在对象的创建、持久化、状态的改变和行为等,对象的持久化只是对象的一种状态,而面向关系型数据库的概念则更关注数据的高效存储和读取;
  4. 面向对象强调对象状态的封装性,对象封装自己的状态(或数据)不允许外部对象随意修改,只暴露一些合法的行为方法供外部对象调用;而关系型数据库则是开放的,可以供用户随意读取和修改关系,并可以和其他表任意的关联(只要sql正确允许的情况下);
  5. 面向对象动态的。而关系型模型,静态的
二.Mysql 的存储引擎 2.1 Innodb(5.7以上默认默认):

传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

2.2 MyISAM(5.5以下下默认) 2.3 数据库是否大小写敏感:

数据库中的表是以文件的形式存放到磁盘中。

  • 在windows中,文件是不区分大小写的所以,数据库在windows中是大小写不明感
  • 在linux中,文件是区分大小写的,所有数据库在linux是大小写敏感的
  • 总结:数据库最终是部署到linux上,所以总的来说数据库看成大小写敏感对待。
三.SpingData JPA 实操建表

第一步,创建一个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;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号