"这篇内容主要介绍了如何使用Java的JDBC(Java Database Connectivity)来连接MySQL数据库,包括注册驱动、建立连接、执行SQL语句以及处理查询结果。" 在Java编程中,JDBC是用于与各种数据库进行交互的一套标准接口。在本篇描述的场景中,我们将关注JDBC连接MySQL的具体步骤和操作。 首先,为了能够使用Java程序连接到MySQL数据库,我们需要通过`DriverManager`类注册MySQL的JDBC驱动。这通常通过以下代码完成: ```java Class.forName("com.mysql.cj.jdbc.Driver"); ``` 这段代码会加载并初始化MySQL的JDBC驱动,使得`DriverManager`能够识别并处理MySQL的连接请求。 然后,我们可以使用`DriverManager.getConnection()`方法来建立到MySQL数据库的连接。这个方法需要三个参数:数据库的URL、用户名和密码。一个典型的MySQL连接URL格式如下: ```java String url = "jdbc:mysql://localhost:3306/student"; Connection connection = DriverManager.getConnection(url, "username", "password"); ``` 这里,`localhost`是服务器地址,`3306`是默认的MySQL端口号,`student`是数据库名称。 一旦建立了`Connection`对象,我们就可以进行SQL操作了。`Connection`提供了两种创建SQL执行对象的方法: 1. `createStatement()`:用于执行不带参数的SQL语句,返回`Statement`对象。 2. `prepareStatement(String sql)`:用于执行带有参数的预编译SQL语句,返回`PreparedStatement`对象。 在执行SQL之前,通常会设置自动提交模式,通过`setAutoCommit(false)`禁用自动提交,这样可以手动控制事务的提交和回滚。如果出现异常,可以调用`rollback()`回滚事务,正常情况下则调用`commit()`提交事务。 `Statement`对象主要负责执行SQL语句,它有三个关键方法: 1. `execute(String sql)`:用于执行任何类型的SQL语句,返回一个布尔值表示是否执行成功。 2. `executeUpdate(String sql)`:用于执行DML(数据操纵语言,如INSERT, UPDATE, DELETE)语句,返回更新的行数。 3. `executeQuery(String sql)`:用于执行DQL(数据查询语言,如SELECT)语句,返回一个`ResultSet`对象,包含了查询结果。 `ResultSet`是查询结果的载体,它有`next()`方法用来移动指针到下一行,以及一系列的`getXxx()`方法(如`getInt()`, `getString()`)来获取列的数据。 `PreparedStatement`相对于`Statement`更安全,因为它允许在SQL语句中使用占位符(问号`?`)。这不仅提高了效率,因为预编译的SQL语句可以多次执行,而且防止了SQL注入攻击。例如,下面是一个使用`PreparedStatement`的例子: ```java String sql = "SELECT * FROM user WHERE username=? AND password=?"; PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); ResultSet rs = pstmt.executeQuery(); ``` 总结来说,JDBC提供了一套规范,使得Java程序员能够方便地与MySQL等数据库进行交互,包括注册驱动、建立连接、执行SQL和处理查询结果。通过理解并熟练运用这些基本操作,开发者可以构建高效、安全的数据库应用程序。
1.注册驱动
static void registerDriver(Driver driver):注册给定的驱动程序DriverManager
写代码使用:Class.forName("com.mysql.cj.jdbc.Driver)
2。获取数据库连接
方法:static Connection getConnection(String url,String user,String password)
url:指定连接的路径:jdbc:mysql://ip地址(或者域名):端口号/数据库名称
jdbc:mysql://localhost:3306/student
如果是本机mysql的话简写为jdbc:mysql:///数据库名称
2.Connection:数据库连接对象
1.功能:
1.获取sql对象
Statement createStatement()
PreparedStatement prepareStatement(String sql)
2.管理事务:
开启事务
void setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务
提交事务:commit()
回滚事务:rollback()
3.Statement:执行sql的对象
1.执行sql
1.boolean execute(String sql):可以执行的任意 sql了解
2.int executeUpdate(String sql):指定DML(insert,update,delete)语句。DDL(create,alter,drop)语句
返回值:影响的行数,可以通过这个影响的行数判断DML语句是否执行成功,返回大于0则执行成功
3.ResultSet executeQuery(String sql):执行 DQL(select)语句
4.ResultSet:结果集对象,封装查询结果
boolean next():游标向下移动一行,判断当前行是否是最后一行末尾
getXxx(参数);获取数据
Xxx;代表数据类型 如: int getInt(), String getString()
参数:
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 146
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展