文章目录
JDBC
JDBC概念
-
什么是JDBC: Java DataBase Connectivity使用Java语言连接数据库的技术
-
本质:就是官方定义的操作数据库的一套规范、规则,都是接口。各个数据库厂商去实现这套接口,提供对应的数据库驱动jar包。来完成连接数据库操作数据库的功能.
-
快速入门:
- 步骤:
// 1. 添加数据库驱动jar包
// 2. 注册驱动 Driver com.mysql.jdbc.Driver ClassNotFoundException
Class.forName("com.mysql.jdbc.Driver");// 通过该类的路径反射生成该来的字节码对象
// 3. 获取数据库的连接对象 Connection
Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.14.149:3306/java31", "root", "root");
// 4. 准备sql语句
String sql = "update account set balance = 20000 where username = '张三'";
// 5. 获取执行sql语句的对象 Statement
Statement statement = connection.createStatement();
// 6. 通过statement对象执行sql语句
int count = statement.executeUpdate(sql);
// 判断如果count>0就代表执行成功
if (count > 0) {
System.out.println("更新数据库成功!");
} else {
System.out.println("更新数据库失败!");
}
// 打开的连接对象关闭 先打开后关闭 后打开先关闭
statement.close();
connection.close();
介绍JDBC快速入门使用到的包和类
- java.sql 所有与JDBC访问数据库相关的类和接口.
- javax.sql 用到数据库连接池数据库的扩展包,提供数据库操作额外一些功能,如:连接池
- DriverManager 驱动管理 注册驱动 还有获取数据库连接对象
- Connection 连接对象 用于创建执行sql对象 Statement,PrepareStatement对象
- Statement sql语句执行对象,用于将sql语句发送给数据库服务器
- PreparedStatement sq语句执行对象是Statement接 的子接口。
- ResultSet 用于封装从数据库查询出来的结果值
DriverManager
- 从JDBC3开始,可以不用注册驱动可以直接使用。Class forName();
- Connection getConection(url,user.password):可以获取到数据库的连接对象
- Connection getConnectin(String ur, Properties info);通过连接字符串和属性对象获取数据连接对象
- user:登录数据库用
- password:登录数据库的密码
- url:连接数据库的路径 对于mysql而言 jdbc:mysq://服务器ip地址:端口号3306/数据库名称?[参数名=参数值]
- 驱动类路径 com.mysql.jdbc.Driver
- jdbc:mysq:/服务器ip地址:端口号3306/数据库名称?[参数名=参数值],如果数据库的服务器是在本地中,省略掉ip地址和端口号–> jdbc:mysql:/数据库名称3[参数名=参数值]
Connection接口
作用:连接数据库,它是一个接口, 由具体的厂商来提供具体的实现类,代表的是一个连接对象.
- Statement createStatement()创建一个sq|执行对象
- PrepareStatement preparedStatement() 创建一个sq|预处理对象
Statement接口
作用:用来执行sq语句,本质是把sq语句发送给数据库服务器
- int executeUpdate(sql) 用于把sql语句发送给服务器,执行增删改查操作,返回值int 影响数据库的记录数(行数)
- ResultSet executeQuery(String sq)用于把sq语句发送给服务器