【MySQL】------数据库连接

谁践踏了优雅 2024-03-31 08:24 197阅读 0赞

分享第十九条励志语录

要想飞起来,首先要有飞翔的信念,如果没有这个信念,永远不可能飞起来。但只要有了飞翔的信念,再加上自己的努力,就有可能能够飞起来。成功也是这样,要想成功,首先得有成功的信念,然后要不断的为这个信念去努力,做到这两点,成功也就离我们不远了

一:数据库连接

1:如何操作数据库

(1)使用DOS命令窗口,输入“mysql -hlocalhost -u数据库用户名 -p数据库密码”命令连接数据库,编写SQL语句(SQL语句以分号;或者\g结尾),回车运行,查看操作结果(受影响行数或结果集)

(2)使用MySQL数据库自带的命令窗口,输入数据库密码连接数据库,编写SQL语句(SQL语句以分号;或者\g结尾),回车运行,查看操作结果(受影响行数或结果集)

(3)使用数据库连接软件(SQLyog)连接数据库,通过图形化界面或者在查询编辑器中编写SQL语句,运行SQL语句查看操作结果(受影响行数或结果集)

2d63ffd2ef1d49b79341605b7701e5d3.png

2:实际开发中如何操作数据库

在实际开发中,当用户的数据发生变化时,不会也不可能通过客户端连接数据库去操作SQL语句,因为在实际开发中,数据的操作量很大,如果使用客户端操作数据库,无法保证SQL语句的正确性和执行效率。

二、JDBC(Java Database Connectivity)

1 :JDBC的概念

  1. 1JDBCJava DataBase ConnectivityJava连接数据库的规范(标准),可以使用Java语言连接数据库,从而对数据进行增删改查(CURD)操作。

2: JDBC核心思想

Java中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。由数据库厂商提供驱动实现类(Driver数据库驱动)。

1cdd831393e447768ca1cc67a1246072.png

2.2.1 MySQL数据库驱动

  1. mysql-connector-java-5.1.x 适用于5.x版本
  2. mysql-connector-java-8.1.x 适用于8.x版本

2.2.2 JDBC API

JDBC是由多个接口和类进行功能实现的。









































类型 权限定名 功能
class java.sql.DriverManager 管理多个数据库驱动类,提供了获取数据库连接的方法
interface java.sql.Connection 代表一个数据库连接(当connection不为null时,表示已连接数据库)
interface java.sql.Statement 发送SQL语句到数据库工具
interface java.sql.PreparedStatement 发送SQL语句到数据库工具
interface java.sql.ResultSet 保存SQL查询语句的结果数据(结果集)
class java.sql.SQLException 处理数据库应用程序时所发生的异常

2.3 JDBC环境搭建

  1. 1)在项目下创建lib文件夹,用于存放jar文件。
  2. 2)将mysql驱动mysql-connector-java-5.1.x复制到项目的lib文件夹中。
  3. 3)将选中lib文件中的jar文件配置到项目中。

b91699d6b7df45af8ca9c069aed5539d.png

三、JDBC的开发步骤(非常重要)

3.1 注册驱动

使用Class.forName(“包含完整路径的驱动类”);//手动加载字节码文件到JVM中。

  1. //1、注册驱动
  2. Class.forName("com.mysql.jdbc.Driver");

3.2 获取连接对象

通过DriverManager.getConnection(url,user,password)获取数据库连接对象

url:mysql数据库的路径

user:mysql数据库用户名

password:mysql数据库密码

  1. //2、获取连接对象
  2. String url = "jdbc:mysql://127.0.0.1:3306/java221804";
  3. String dbuser = "root";
  4. String password = "******";
  5. Connection connection = DriverManager.getConnection(url, dbuser, password);

8e6f03d6a115405eb673b70edaa69ec9.png

3.3 获取发送SQL语句的对象

通过Connection对象获取Statement对象,用于发送SQL语句,实现对数据库进行访问。

  1. //3、获取发送SQL语句的对象
  2. Statement statement = connection.createStatement();

3.4 执行SQL语句

编写SQL语句并执行SQL语句,接收SQL语句的执行结果。

  1. //编写SQL语句,SQL语句最好是先在SQLyog里面写一遍并运行一下,保证SQL语句没有语法错误
  2. String sql = "DELETE FROM stu WHERE sid='S_1010';";
  3. //4、执行SQL语句,并接收结果
  4. //DML语句:对于插入数据、修改数据、删除数据操作,都调用executeUpdate()方法,返回受影响的行数(int类型)
  5. //DQL语句:对于查询数据,调用executeQuery()方法,返回一个结果集(ResultSet类型)
  6. int num =statement.executeUpdate(sql);

3.5 处理结果

处理第三步返回的数据。对返回的受影响行数结果进行逻辑判断;对返回的结果集进行迭代、依次获取数据。

  1. //5、处理结果
  2. if(num==1){
  3. System.out.println("数据删除成功");
  4. }else{
  5. System.out.println("数据删除失败");
  6. }

3.6 释放资源

释放(关闭)所使用到的所有资源对象,遵循”先开的后关,后开的先关“原则。

  1. //6、释放资源:先开后关,后开先关
  2. statement.close();
  3. connection.close();

3.7 综合案例

综合上述6个步骤,实现向数据库表中插入一条数据。

  1. package cn.bdqn.demo01;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6. public class InsertJDBC {
  7. public static void main(String[] args) {
  8. try {
  9. // 1、注册驱动
  10. Class.forName("com.mysql.jdbc.Driver");
  11. // 2、获取连接对象
  12. String url = "jdbc:mysql://127.0.0.1:3306/java221804";
  13. String user = "****";
  14. String password = "****";
  15. Connection connection = DriverManager.getConnection(url, user,password);
  16. // 3、获取发送SQL语句的对象
  17. Statement statement = connection.createStatement();
  18. // 编写SQL语句
  19. String sql = "INSERT INTO stu VALUES('S_1010','laoliu',29,'male');";
  20. // 4、执行SQL语句
  21. int num = statement.executeUpdate(sql);
  22. System.out.println(num);
  23. // 5、处理结果
  24. if (num == 1) {
  25. System.out.println("数据插入成功");
  26. } else {
  27. System.out.println("数据插入失败");
  28. }
  29. // 6、释放资源:先开后关,后开先关
  30. statement.close();
  31. connection.close();
  32. } catch (ClassNotFoundException e) {
  33. e.printStackTrace();
  34. } catch (SQLException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. }

今天的分享就到此结束了

创作不易点赞评论互关三连

c7a579659984427c951f24021bdb4be8.gif

发表评论

表情:
评论列表 (有 0 条评论,197人围观)

还没有评论,来说两句吧...

相关阅读