SpringBoot2.x+Spring5+Mybits3.x后期使用vue前端构建前后端分离-14 数据库表设计,复习jdbc

在线教育项目核心数据库表设计-ER图

在线教育站点速览 xdclass.net(简单介绍,后续会详细介绍表的具体字段)

视频有对应的章和对应的集

一章对应多个集

1个视频对应多个订单

多个订单对应一个用户

首页轮播图属于单独的表

ER图知识回顾:

  • 实体对象:矩形
  • 属性:椭圆
  • 关系:菱形

核心库表

  • video
  • chapter
  • episode
  • user
  • video_order
  • video_banner

mysql的在线教育的核心库表

mysql软件自行安装,Mac、window、Linux 搜索博文,或者看mysql专题

本地安装是可以直接访问

虚拟机或者云服务器安装,测试的话一定要开启mysql远程访问和防火墙开放对应的端口

导入课程sql, 本地安装Myql务必使用5.7版本

  • 设计对应的表字段

  • Mysql测试数据导入

  • mysql客户端软件

    • 苹果系统:sequel pro
    • windows:navicat

具体的字段按需要进行添加

复习JDBC连接数据库

原生jdbc访问数据库步骤

  • 加载JDBC驱动程序
  • 创建数据库的连接
  • 创建preparedStatement
  • 执行SQL语句
  • 处理结果集
  • 关闭JDBC对象资源

Springboot项目测试原生JDBC连接

加载依赖包 由于现有默认是8.0.22的mysql依赖包所以需要版本控制

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
  
<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
</dependency>

Main函数访问代码实操

public static void main(String [] args) throws Exception {

        Class.forName("com.mysql.cj.jdbc.Driver");
        //连接
        String url = "jdbc:mysql://127.0.0.1:3306/xdclass?useUnicode=true&characterEncoding=utf-8&useSSL=false";

        String username = "root";
        String password = "xdclass.net";

        //获取连接对象,并连接数据库
       Connection connection = DriverManager.getConnection(url,username,password);


       //获取语句对象
       Statement statement = connection.createStatement();

       ResultSet resultSet =  statement.executeQuery("select * from video");

       while (resultSet.next()){

           System.out.println("视频标题:"+resultSet.getString("title"));

       }
       statement.close();

    }

原生jdbc缺点

  • 每次要加载驱动,连接信息是硬编码
  • sql和java代码耦合一起,改动不易
  • 参数设置缺少灵活性
  • 处理结果集麻烦,不能自动映射到实体类
  • 连接资源不能复用,资源浪费

什么是ORM框架

  • 对数据库的表和POJO(Plain Ordinary Java Object)Java对象的做映射的框架

市面上的ORM框架

  • hibernate (ssh)

    • 比较笨重,sql调优麻烦
    • 推荐指数:不推荐
  • JPA - Spring Data JPA

    • Java Persistence API, 轻量级,部分中小项目适合
    • 推荐指数:次之
  • mybatis

    • 半自动化(半ORM框架),便于写sql,轻量级,在阿里等大厂广泛使用
    • 推荐指数:推荐

下一章介绍Mybits

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值