JDBC (接口):
JDBC:
* 概念 :
Java DAtabase connectivity java语言操作数据库
JDBC 就是 定义了操作所有关系型数据库的规则(接口) 相当于统一文字。
接口的实现类,是每一个不同数据库的厂商写的实现类。
(mysql,oracle,DB2) 写的实现类名:数据库驱动。-- .jar
提供数据库 驱动 jar包,我们可以使用这套接口编程,真正执行的代码的是 驱动 jar 包中的实现类
*入门 :
1.注册驱动(DriverMAnager)
class.forName("com.mysql.jbdc.Driver")
2.获取数据库的连接对象 Connection
3.定义sql语句并且创建执行sql的对象(Statement,PrepareStatement)
4.执行sql获取结果
5.便利结果,对结果进行操作
6.释放资源
JDBC 操作事务
con.setAutoCommit(false//必须)
con.commit();con.rollback();
导入第三方jar包
在module下创建libs目录
拷贝jar包到该目录
邮件jar包 Add As Libirary
详解各个对象
1.DriverManager: 驱动管理对象
*功能:
1.注册驱动(DriverMAnager):告诉
方法:Class.forName("com.mysql.jbdc.Driver")
通过查看源码发现:在com.mysql.jbdc.Driver类中存在静态代码块
(这里有静态代码块)
注意:
2.获取数据库连接
* 方法 static Connection getConnection(String url,String user,String password)
* 参数:
*url: 制定连接的路径
*语法Connection con =DriverManager.getConnection(jdbc:mysql://ip地址:"端口号(3306)/数据库名称()","数据库账号","数据库密码")
*细节: 如果连接的是本机的MySQL服务器,并且服务默认端口是3306,则url可以简写:jdbc:mysql://
*user:用户名
*password:细节
3.定义sql语句并且创建执行sql的对象(Statement,PrepareStatement)
() stmt = con.createStatment
** con.preparedStatement("sql语句")
4.执行sql获取结果
dml(增删改)
update
dql(查询)
stmt.executrQuey
补充【next() 方法就是游标向下移动一行】
【getXxx():获取数据】
【Xxx代表数据类型】
*参数: int:代表列的编号 如 getString(1/“列名”)
固定语法:url: jdbc:mysql://
user: 用户名 root
password:密码 root
control alt +v
简化书写: JDBCUtils
只有静态 的能被静态方法 返回connection 对象
mysql
安装卸载
net start mysql
sqlyog工具可视窗口性的 工具
dml数据的增删改
dql 数据库的查询
create database 数据库名 character set 设置字符集 utf8
drop database 数据库名称
showDatabases
show create database 数据库名
select database() 查看当前数据库
use 数据库名
create table 表名
alter table 表名 add 列明 数据类型 约束
alter table 表名 add 列明 数据类型 约束
查询 就是消除 这些无用的数据 笛卡尔积 数据
隐士内链接 使用where
三种 多表查询的方式 就是为了消除无用的笛卡尔积数据
内链接 查询
隐士内链接:使用where 条件来消除无用的数据
select *(可更换为列明 查询具体的内容)from emp,dept where emp.dept_id=dept.id
显示内链接
select*from 表名 jion 表名 on 条件 a.b_id=b.id;
外连接查询:
左外连接查询:
select 左.*,右.name from 左表名 left join 右表名 on 条件
右外链接查询:
select 左.*,右.name from 右表名 right join 右表名 on 条件
子连接查询:
嵌套式查询方式 将一个sql 语句嵌套在另一个sql语句中 完成对一个精准点位的查询 |
|