ER图的学习:
学习了ER图相关知识,并绘制了项目大概的ER图
详细笔记博客:http://t.csdn.cn/YOJxq
MySQL的学习:
函数
学习了字符串函数,数值函数,日期函数,流程函数。
约束
作用于表中字段的规则,用于限制存储在表中的数据。
目的:包装数据的正确性,有效性,完整性。
实战:
多表查询
多表查询就是从多张表中查询数据(这里要消除无效的笛卡尔积)
分类:
连接查询:内连接,外连接,自连接(必须使用别名)。
子查询:标量子查询,列子查询,行子查询,表子查询
JDBC
JDBC是用于规范所有数据库的一套规则,
然后就是一些常见的API的熟悉
最后是数据库连接池(8.0版本的mysql)
数据库连接池是一个容器,负责分配,管理数据库连接。
可以初始部分连接,加快速度。
也可以重复使用现有的数据库连接,不用重新建立,提高系统响应速度。
import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.sql.Connection; import java.util.Properties; public class DruidDemo { public static void main(String[] args) throws Exception { //加载配置文件 Properties pro = new Properties(); InputStream is =DruidDemo.class.getClassLoader().getResourceAsStream("jdbc/src/druid.properties"); pro.load(is); //获取连接池对象 DataSource datasource = DruidDataSourceFactory.createDataSource(pro); //获取连接 Connection cn = datasource.getConnection(); System.out.println(cn); } }
配置文件:
#druid文件配置 driverClassName = com.mysql.cj.jdbc.Driver #url = jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&userSSL=false&serverTimezone=GMT%2B8 url=jdbc:mysql://localhost:3306/itly?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&allowPublicKeyRetrieval=true username=root password=******** #初始连接数量 initialSize = 5 #最大连接数 maxActive = 10 #最大超时时间 maxWait = 3000
小结:
MySQL还差索引,优化,以及锁未学习完,接下来的任务尽快学习完MySQL剩余内容,从而学习多线程的知识。