Mysql
目录
1.7-jdbc的PreparedStatement相比Statement的好处
1.1-数据库的分类以及常用的数据库
分为:关系型数据库和非关系型数据库
- 关系型数据库:Mysql,oracle,sqlserver
- 非关系型数据库:redis,memcache,mogodb,hadoop等
1.2-关系数据库的三范式
范式:范式就是规范,关系型数据库在设计表时,要遵循的三个规范。要想满足第二范式必须先满足第一范式,要满足第三范式必须先满足第二范式
-
第一范式:是指数据库的每一列都是不可分割的基本数据项,同一列中不能有多个值,也就是实体类中的某个属性不能有多个值或者不能有重复的属性,列数据不可分割
-
第二范数:要求数据库中每个实例或行必须可以被唯一区分的,数据库中所有非主键字段完全依赖主键,不能产生部分依赖,以存储各个实例的唯一标识(主键)
-
第三范式:要求一个数据库表中不包含其他表中已经包含的非关键字信息(外键)
1.3-事务的四个基本特征
事务:是一个并发控制的单位,比如是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位
事务必须满足四大特征:
-
原子性:表示操作事务内操作不可分割,要们都成功,要们都失败
-
一致性:要么成功,要们失败,失败了要对前面的操作进行回滚
-
隔离性:一个事务开始后,不能背其他的事务干扰
-
持久性/持续性:表示事务开始了,就不能终止
1.4-Mysql数据库的最大连接数
特定服务器上面的数据库只能支持一定数目同时连接,这时我们一般都会设置最大连接数(最多同时服务多少连接),在数据库安装时都会有一个默认的最大连接数。
最大连接数为100
1.5-对jdbc的理解
Java只定义接口,让数据库厂商自己实现接口,对于开发而言,只需要导入对应厂商开发的实现即可,然后以接口实现即可,然后进行调用(mysql+mysql驱动(实现)+jdbc)
1.6-jdbc怎么调用存过程
- 加载 jdbc 驱动程序
- DriverManager.getConnection获取连接
- 创建一个Statement
- 执行SQL语句
- 处理执行完SQL之后的结果
- 释放连接
public static void test() throws ClassNotFoundException, SQLException{
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/ssmidea?serverTimezone=UTC
String user = "root";
String password = "root";
//1.注册驱动
Class.forName(driver);
//2.建立连接
Connection conn=DriverManager.getConnection(url,user,password);
//3.创建语句执行对象
Statement st=conn.createStatement();//创建Statement
//4.执行语句
ResultSet rs=st.executeQuery("select * from user");
//5.处理结果
while(rs.next()){
System.out.print(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t");
}
//6.释放资源,资源rs、st、conn的释放顺序与创建顺序相反
rs.close();
st.close();
conn.close();
}