MySQL JDBC编程_2

举报
bug郭 发表于 2022/08/11 10:04:25 2022/08/11
【摘要】 使用案例如何使用JDBC在java中编程呢?我们在IDEA中进行操作!首先我们需要创建一个项目!在项目中添加一个文件夹,然后将刚刚下载好的JDBCjar包导入项目中!!!创建lib文件夹,将jar包复制过去Add as Library当我们可以看到这么多文件夹 ,那么我们便导入成功了!!!编写代码JDBC的基本流程!创建DataSource对象,这个对象就是描述了数据库服务器在哪!impo...

使用案例

如何使用JDBCjava中编程呢?
我们在IDEA中进行操作!

  • 首先我们需要创建一个项目!
  • 在项目中添加一个文件夹,然后将刚刚下载好的JDBCjar包导入项目中!!!

在这里插入图片描述
创建lib文件夹,将jar包复制过去
在这里插入图片描述Add as Library
在这里插入图片描述
当我们可以看到这么多文件夹 ,那么我们便导入成功了!!!
在这里插入图片描述

  • 编写代码

JDBC的基本流程!

创建DataSource对象,这个对象就是描述了数据库服务器在哪!
在这里插入图片描述
在这里插入图片描述

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
public class jdbc {
  public static void main(String[] args) {
    //创建DAtaSource对象
      //导入 javax.sql包
      DataSource dataSource = new MysqlDataSource();
      //描述数据库服务器在哪里
      // 设置数据库所在地址
      //jdbc:mysql://127.0.0.1:3306/java_2022?characterEncoding=utf8&useSSL=false
      ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java_2022?characterEncoding=utf8&useSSL=false");
      //设置登入数据库用户名
      ((MysqlDataSource)dataSource).setUser("root");
      //设置数据库登入密码
      ((MysqlDataSource)dataSource).setPassword("123456");
  }
}

为啥我们的dataSource对象需要使用强制类型转换呢?
因为如果我们直接创建一个MysqlDataSource对象的话,如果我们换一个数据库那么代码的兼容性就较低,需要该的地方较多!而采用类型强制转换,只需要改动部分代码即可!

setUrl

url 指的是 uniform/universal resource locator 唯一资源定位地址,就是我们平常说的网站!

jdbc:mysql://127.0.0.1:3306/java_2022?characterEncoding=utf8&useSSL=false
那这串字符代表什么意思?

jdbc:mysql表示mysql jdbc的网址

//127.0.0.1 mysql 服务器的主机所在的IP地址 ip地址就描述了网络上一个主机的位置,我们也可以用localhost代替,因为当前我们的数据库服务器和客户端的主机都是同一台

3306端口号 访问你的主机上的哪一个程序,3306表示mysql服务器的默认端口号!

java_2022 你需要访问的数据库名称

characterEncoding=utf8 指定字符集编码! 或者是utf8b

&useSSL=false 是否需要传输过程中加密,一般不加密

setUser

设置用户名
setUser("root");
root是管理员用户,我们也可以有其他用户

setPassword

setPasssword("123456");
这就是输入Mysql服务器的密码!

写完上述代码,我们就已经创建好了一个对象!
就相当于我们已经分配了一个任务!!!
但是此时我们没有去执行这个任务
我们需要连接数据库才能访问该数据库!!

如何连接数据库服务器呢?
dataSource对象下有一个方法,可以连接mysql数据库服务器!

Connection connection = dataSource.getConnection();

注意这里的Connection类是java.sql.Connection包下的类!!!

我们已经连上了数据库那么我们就可以对数据库里的内容进行操作了!!!

String sql = "insert into student values('吕布',101)";

我们将sql语句写成字符串!!!

PreparedStatement statement = connection.prepareStatement(sql);

利用connection对象创建一个语句对象!

PreparedStatement statement = connection.prepareStatement(sql);

我们将sql传入statement 语句对象!!!但是并没有执行操作

int ret = statement.executeUpdate();

执行操作语句!!!
此条语句执行后,那么我们的数据库便执行了sql语句!!!

而我们的返回值ret表示几行数据受到影响,就如同我们在命令行执行成功后的提示!!!
在这里插入图片描述我们可以打印ret值从而知道多少列受到影响!或者打印statement值可以看到具体的sql操作!!!
在这里插入图片描述
我们将sql执行完毕,还需要将数据库连接断开和PrepareStatement资源释放!!!

关闭资源
statement.close();
connection.close();

因为我们是先连接数据库,在创建了statement对象!
所以我们要先closestatement,再close connection!!!

就比如我们打开洗衣机,再放衣服!!!
洗完后要先拿完衣服再关洗衣机!!!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。