在线教育项目核心数据库表设计-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