1.1 表连接
内连接:隐式、显式
隐式:没有 join,使用 where
显式:inner join..on
外连接:左连接和右连接
左连接:left outer join … on
右连接:right outer join … on
1.2 子查询
三种情况:
1) 单行单列:比较运算符:>、<、=
2) 多行单列:使用 in 关键字
3) 多行多列:放在 from 后面,做为一张表再次查询
1.3 备份与还原
备份:mysqldump -u 用户名 -p 密码 数据库 > 文件名
还原:
登录使用数据库
use 数据库
source 文件名
1.4 事务
事务四个特性 ACID:原子性、一致性、隔离性、持久性
在 mysql 中有三条语句:
开启事务:start transaction
提交事务:commit
回滚事务:rollback
设置事务回滚点:savepoint 名字
回到回滚点:rollback to 名字
Class.forName(数据库驱动实现类)
Connection getConnection (String url, String user, String password)
Spring JDBC
* Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
* 步骤:
1. 导入jar包
2. 创建JdbcTemplate对象。依赖于数据源DataSource
* JdbcTemplate template = new JdbcTemplate(ds);
3. 调用JdbcTemplate的方法来完成CRUD的操作
* update():执行DML语句。增、删、改语句
* queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合
* 注意:这个方法查询的结果集长度只能是1
* queryForList():查询结果将结果集封装为list集合
* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
* query():查询结果,将结果封装为JavaBean对象
* query的参数:RowMapper
* 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
* new BeanPropertyRowMapper<类型>(类型.class)
* queryForObject:查询结果,将结果封装为对象
* 一般用于聚合函数的查询
|
|