当前位置:   article > 正文

JDBC编程(Java操作数据库 MySQL)_java mysqldatasource

java mysqldatasource

数据库提供了各种语言版本的API(一组函数/一组类),调用这些API就能操作数据库

而在Java中,又将各种数据库的api再次抽象封装成一套统一的API——JDBC

在中央仓库 Maven Repository: Search/Browse/Explore (mvnrepository.com)下载jar包

目录

1. 简单导入方法

 2. 连接设置

创建一个数据源对象

把数据库位置信息添加到DataSource

 设置用户名

设置密码

3. 连接数据库

4. 构造SQL语句

5. 执行SQL并释放资源

⭐案例

Delete删除操作

Update修改操作

Select查找操作

小结(JDBC中常用的类)


1. 简单导入方法

先在要运行的项目中创建一个目录(lib

右击项目名 -> New -> Directory

 其实就是一个文件夹

把下载好的jar包拷贝到这个目录中,右击jar包,选择Add as Library(库)...

在新的对话框中点击OK

导入成功,这样就可以直接使用了~

 2. 连接设置

  • 创建一个数据源对象

DataSource这个概念,表示“数据库在哪”

  1. public static void testInsert() {
  2. //1、创建一个数据源对象
  3. DataSource dataSource = new MysqlDataSource();
  4. }

  • 把数据库位置信息添加到DataSource

    ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java101?characterEncoding=utf8&useSSL=false");

URL典型结构:

协议名称: jdbc:mysql( jdbc表示使用jdbc访问数据库,mysql表示访问的数据库是mysql)

IP地址:一般写作“点分十进制”

要访问的数据库名:/xxx

额外参数:?characterEncoding=utf8&useSSL=false

        指定字符编码:characterEncoding(此处写的是utf8,得和数据库服务器设置的编码方式统一

         useSSL:是否加密

在MySQL Workbench中可以查看 数据库的ip端口 数据名

如下图:127.0.0.1表示本机自身,端口号为安装服务器时手动设置,默认为3306

IP 区分是哪个主机port端口号 是区分主机上的哪个程序

  •  设置用户名

 root表示默认管理员

    ((MysqlDataSource)dataSource).setUser("root");
  • 设置密码

MySQL登录密码

    ((MysqlDataSource)dataSource).setPassword("xxxx");

3. 连接数据库

连接数据库,进行网络通信
  1. import java.sql.Connection; //注意导入标准库中的
  2. Connection connection = dataSource.getConnection();

4. 构造SQL语句

构造SQL语句,为插入做准备

  1. // 构造一个SQL语句,为插入做准备!
  2. // 本质还是用SQL写
  3. // 此处不需要use 数据库,因为在URL中已经设置好数据库的名字
  4. String sql = "insert into student values(1,'张三')";
  5. // 光搞一个String的 sql 还不够,要想真正运行SQL,还需要一个专门的对象,PreparedStatement
  6. PreparedStatement statement = connection.prepareStatement(sql);

5. 执行SQL并释放资源

  1. // 执行SQL
  2. // 客户端把 SQL 通过网络请求,发送给Mysql服务器
  3. // mysql 服务器来解析这个 SQL 请求,执行具体操作,返回响应结果
  4. // 此处使用 executeUpdate 来完成数据库内容的变更,(变更包含 insert, update, delete)
  5. // 返回值表示这个操作影响的行数
  6. int ret = statement.executeUpdate();
  7. System.out.println("ret: "ret);
  8. // 执行完 SQL 之后,回收资源
  9. statement.close();
  10. // 客户端与服务器的连接
  11. connection.close();

⭐案例

Delete删除操作

  1. // 删除操作
  2. public static void testDelete() throws SQLException {
  3. //1. 创建数据源,设置信息
  4. DataSource dataSource = new MysqlDataSource();
  5. ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
  6. ((MysqlDataSource)dataSource).setUser("root");
  7. ((MysqlDataSource)dataSource).setPassword("1230");
  8. //2. 和数据库建立连接
  9. Connection connection = dataSource.getConnection();
  10. //3. 构造 SQL
  11. Scanner scanner = new Scanner(System.in);
  12. System.out.println("请输入要删除的id:");
  13. int id = scanner.nextInt();
  14. String sql = "delete from student where id = ?";
  15. PreparedStatement statement = connection.prepareStatement(sql);
  16. statement.setInt(1,id);
  17. //4. 执行 SQL
  18. int ret = statement.executeUpdate();
  19. System.out.println("ret=" + ret);
  20. //5. 释放资源
  21. statement.close();
  22. connection.close();
  23. }

Update修改操作

  1. //修改操作
  2. public static void testUpdate() throws SQLException {
  3. //1.创建数据源
  4. DataSource dataSource = new MysqlDataSource();
  5. ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
  6. ((MysqlDataSource)dataSource).setUser("root");
  7. ((MysqlDataSource)dataSource).setPassword("1230");
  8. Connection connection = dataSource.getConnection();
  9. // 构造SQL
  10. Scanner scanner = new Scanner(System.in);
  11. System.out.println("请输入要修改的id:");
  12. int id = scanner.nextInt();
  13. System.out.println("请输入要修改的名字:");
  14. String name = scanner.next();
  15. String sql = "update student set name = ? where id = ?";
  16. PreparedStatement statement = connection.prepareStatement(sql);
  17. statement.setString(1,name);
  18. statement.setInt(2,id);
  19. //执行SQL
  20. int ret = statement.executeUpdate();
  21. System.out.println("ret: "+ ret);
  22. //回收资源
  23. statement.close();
  24. connection.close();
  25. }

Select查找操作

  1. // 查找操作
  2. public static void testSelect() throws SQLException {
  3. //数据源
  4. DataSource dataSource = new MysqlDataSource();
  5. ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");
  6. ((MysqlDataSource)dataSource).setUser("root");
  7. ((MysqlDataSource)dataSource).setPassword("1230");
  8. //建立连接
  9. Connection connection = dataSource.getConnection();
  10. //构造SQL
  11. String sql = "select * from student";
  12. PreparedStatement statement = connection.prepareStatement(sql);
  13. //执行SQL
  14. ResultSet resultSet = statement.executeQuery();
  15. //遍历结果集合,结果集合非常类似于迭代器
  16. while (resultSet.next()) {
  17. int id = resultSet.getInt("id");
  18. String name = resultSet.getString("name");
  19. System.out.println("id: "+id+",name: "+name);
  20. }
  21. //释放资源
  22. resultSet.close();
  23. statement.close();
  24. connection.close();
  25. }

小结(JDBC中常用的类)

MySQL是一个"客户端-服务器"结构的程序

服务器是MySQL的本体,负责管理数据

客户端有很多种形态(cmd,workbench,JDBC代码…)

  • DateSource通用的,能够支持各种数据库
  • MysqlDateSource表示数据源,是MySQL驱动包提供的专门针对MySQL的类,设置用户名、密码、URL…
  • 通过DateSource来建立Connection
  • 通过Connection创建出了PreparedStatement,通过statement把用户构造的SQL通过网络发送给服务器
  • 通过网络,把数据集拿回来
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/941951
推荐阅读
相关标签
  

闽ICP备14008679号