当前位置:   article > 正文

java通过JDBC连接mysql8.0数据库,并对数据库中的表进行增删改查操作

jdbc连接mysql8.0

目录

一、JDBC简介

二、添加依赖

三、JDBC操作数据库的步骤

四、JDBC操作数据库——增删改查

(一)新增数据

(二)删除数据

(三)修改数据

(四)查询数据

(五)多表连接查询


一、JDBC简介

        Java数据库连接,(Java Database Connectivity,简称JDBC)是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,我们通常说的JDBC是面向关系型数据库的。

二、添加依赖

  1. <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. <version>8.0.29</version>
  5. </dependency>

三、JDBC操作数据库的步骤

注意:在使用JDBC之前要保证数据库远程连接服务启动!

1.Class.forName()加载驱动

2.DriverManager获取Connection连接

3.创建Statement执行SQL语句

4.增删改操作使用preparedStatement.executeUpdate();返回影响的行数

   查询操作使用preparedStatement.executeQuery();返回查询结果

5.释放资源

四、JDBC操作数据库——增删改查

首先创建表:

  1. create table if not exists dog
  2. (
  3. id int(10) primary key auto_increment,
  4. name varchar(32) comment '宠物名',
  5. health int(10) comment '健康值',
  6. love int(10) comment '亲密度',
  7. strain varchar(32) comment '品种',
  8. lytime datetime comment '领养时间'
  9. );

(一)新增数据

  1. package jdbcstu;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. public class Dog {
  7. public static void main(String[] args) {
  8. Connection connection = null;
  9. PreparedStatement preparedStatement = null;
  10. try {
  11. // com.mysql.jdbc.Driver
  12. // 第一步:加载驱动
  13. Class.forName("com.mysql.jdbc.Driver");
  14. // 第二步:获取Connection对象
  15. connection = DriverManager.getConnection(
  16. "jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名
  17. "root", // 数据库的用户名
  18. "root" // 数据库密码
  19. );
  20. System.out.println(connection);
  21. // 第三步:操作数据库 增删改查
  22. /*新增*/
  23. // String sql = "insert into dog(name,health,love,strain,lytime) values(?,?,?,?,?)";
  24. String sql = "insert into dog(name,health,love,strain,lytime) values(?,?,?,?,now())";
  25. String name = "ggg";
  26. Integer health = 92;
  27. Integer love = 66;
  28. String strain = "斗牛";
  29. // Date date = new Date(System.currentTimeMillis());// 只能存年月日
  30. // 第三步:创建preparedstatement
  31. preparedStatement = connection.prepareStatement(sql);
  32. preparedStatement.setString(1,name);
  33. preparedStatement.setInt(2,health);
  34. preparedStatement.setInt(3,love);
  35. preparedStatement.setString(4,strain);
  36. // preparedStatement.setDate(5,date);
  37. // 第四步:获取到执行新增语句后的返回结果
  38. int num = preparedStatement.executeUpdate(); // 返回影响的行数
  39. if(num > 0){
  40. System.out.println("新增宠物狗成功!");
  41. }
  42. }catch (ClassNotFoundException e){
  43. e.printStackTrace();
  44. } catch (SQLException e) {
  45. e.printStackTrace();
  46. }finally {
  47. // 第五步:释放资源
  48. try {
  49. if (preparedStatement != null) {
  50. preparedStatement.close();
  51. }
  52. if (connection != null) {
  53. connection.close();
  54. }
  55. }catch (SQLException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59. }
  60. }

(二)删除数据

  1. package jdbcstu;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. public class Dog {
  7. public static void main(String[] args) {
  8. Connection connection = null;
  9. PreparedStatement preparedStatement = null;
  10. try {
  11. // com.mysql.jdbc.Driver
  12. // 第一步:加载驱动
  13. Class.forName("com.mysql.jdbc.Driver");
  14. // 第二步:获取Connection对象
  15. connection = DriverManager.getConnection(
  16. "jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名
  17. "root", // 数据库的用户名
  18. "root" // 数据库密码
  19. );
  20. System.out.println(connection);
  21. // 第三步:操作数据库 增删改查
  22. String sql = "delete from dog where name = ? and health = ?";
  23. preparedStatement = connection.prepareStatement(sql);
  24. String name = "ggg";
  25. Integer health = 92;
  26. preparedStatement.setString(1,name);
  27. preparedStatement.setInt(2,health);
  28. int num = preparedStatement.executeUpdate();
  29. if(num>0){
  30. System.out.println("删除成功!"+num);
  31. }
  32. }catch (ClassNotFoundException e){
  33. e.printStackTrace();
  34. } catch (SQLException e) {
  35. e.printStackTrace();
  36. }finally {
  37. // 第五步:释放资源
  38. try {
  39. if (preparedStatement != null) {
  40. preparedStatement.close();
  41. }
  42. if (connection != null) {
  43. connection.close();
  44. }
  45. }catch (SQLException e) {
  46. e.printStackTrace();
  47. }
  48. }
  49. }
  50. }

(三)修改数据

  1. package jdbcstu;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. public class Dog {
  7. public static void main(String[] args) {
  8. Connection connection = null;
  9. PreparedStatement preparedStatement = null;
  10. try {
  11. // com.mysql.jdbc.Driver
  12. // 第一步:加载驱动
  13. Class.forName("com.mysql.jdbc.Driver");
  14. // 第二步:获取Connection对象
  15. connection = DriverManager.getConnection(
  16. "jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名
  17. "root", // 数据库的用户名
  18. "root" // 数据库密码
  19. );
  20. System.out.println(connection);
  21. // 第三步:操作数据库 增删改查
  22. String sql = "update dog set name = ?,health = ?,love = ? where id = ?";
  23. preparedStatement = connection.prepareStatement(sql);
  24. preparedStatement.setString(1,"二哈");
  25. preparedStatement.setInt(2,99);
  26. preparedStatement.setInt(3,80);
  27. preparedStatement.setInt(4,2);
  28. int num = preparedStatement.executeUpdate();
  29. if(num > 0){
  30. System.out.println("修改宠物狗成功!");
  31. }
  32. }catch (ClassNotFoundException e){
  33. e.printStackTrace();
  34. } catch (SQLException e) {
  35. e.printStackTrace();
  36. }finally {
  37. // 第五步:释放资源
  38. try {
  39. if (preparedStatement != null) {
  40. preparedStatement.close();
  41. }
  42. if (connection != null) {
  43. connection.close();
  44. }
  45. }catch (SQLException e) {
  46. e.printStackTrace();
  47. }
  48. }
  49. }
  50. }

(四)查询数据

  1. package jdbcstu;
  2. import java.sql.*;
  3. public class Dog {
  4. public static void main(String[] args) {
  5. Connection connection = null;
  6. PreparedStatement preparedStatement = null;
  7. ResultSet resultSet = null;
  8. try {
  9. // com.mysql.jdbc.Driver
  10. // 第一步:加载驱动
  11. Class.forName("com.mysql.jdbc.Driver");
  12. // 第二步:获取Connection对象
  13. connection = DriverManager.getConnection(
  14. "jdbc:mysql://192.168.180.141:3306/jdbcstudb", // mysql服务器地址,端口,数据库名
  15. "root", // 数据库的用户名
  16. "root" // 数据库密码
  17. );
  18. System.out.println(connection);
  19. // 第三步:操作数据库 增删改查
  20. String sql = "select id,name,health,love,strain,lytime from dog where health = ? and strain = ? limit ?,?";
  21. preparedStatement = connection.prepareStatement(sql);
  22. preparedStatement.setInt(1,99);
  23. preparedStatement.setString(2,"哈士奇");
  24. preparedStatement.setInt(3,0);
  25. preparedStatement.setInt(4,2);
  26. resultSet = preparedStatement.executeQuery();
  27. System.out.println("\t\t\t狗狗信息");
  28. System.out.println("编号\t宠物名\t健康值\t亲密度\t品种\t\t领养时间");
  29. while (resultSet.next()){
  30. System.out.print(resultSet.getInt("id")+"\t");
  31. System.out.print(resultSet.getString("name")+"\t\t");
  32. System.out.print(resultSet.getInt("health")+"\t\t");
  33. System.out.print(resultSet.getInt("love")+"\t\t");
  34. System.out.print(resultSet.getString("strain") + "\t\t");
  35. System.out.println(resultSet.getDate("lytime")+"\t");
  36. }
  37. }catch (ClassNotFoundException e){
  38. e.printStackTrace();
  39. } catch (SQLException e) {
  40. e.printStackTrace();
  41. }finally {
  42. // 第五步:释放资源
  43. try {
  44. if (preparedStatement != null) {
  45. preparedStatement.close();
  46. }
  47. if (connection != null) {
  48. connection.close();
  49. }
  50. if(resultSet != null){
  51. resultSet.close();
  52. }
  53. }catch (SQLException e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. }
  58. }

(五)多表连接查询

  1. package jdbcstu;
  2. import java.sql.*;
  3. public class Master {
  4. public static void main(String[] args) {
  5. Connection connection = null;
  6. PreparedStatement preparedStatement = null;
  7. ResultSet resultSet = null;
  8. try {
  9. // 第一步:加载驱动
  10. Class.forName("com.mysql.jdbc.Driver");
  11. // 第二步:获取connection对象
  12. connection = DriverManager.getConnection(
  13. "jdbc:mysql://192.168.180.141:3306/jdbcstudb",
  14. "root",
  15. "root"
  16. );
  17. System.out.println(connection);
  18. // 第三步:操作数据库 增删改查
  19. /*查询数据*/
  20. String sql = "select m.name ,\n" +
  21. " m.age ,\n" +
  22. " m.gender ,\n" +
  23. " m.yearnum ,\n" +
  24. " d.name ,\n" +
  25. " d.health ,\n" +
  26. " d.love \n" +
  27. " from master m\n" +
  28. "join dog d on m.did = d.id\n" +
  29. "where m.age > ?\n" +
  30. "order by d.id desc\n" +
  31. "limit ?";
  32. preparedStatement = connection.prepareStatement(sql);
  33. preparedStatement.setInt(1,30);
  34. preparedStatement.setInt(2,2);
  35. resultSet = preparedStatement.executeQuery();
  36. System.out.println("\t\t\t领养信息");
  37. System.out.println("主人姓名\t主人年龄\t主人性别\t主人经验值\t宠物名\t宠物健康值\t宠物亲密度");
  38. while (resultSet.next()){
  39. System.out.print(resultSet.getString("m.name")+"\t\t");
  40. System.out.print(resultSet.getInt("m.age")+"\t\t");
  41. System.out.print(resultSet.getString("m.gender")+"\t\t");
  42. System.out.print(resultSet.getInt("m.yearnum") + "\t\t\t");
  43. System.out.print(resultSet.getString("d.name")+"\t\t");
  44. System.out.print(resultSet.getInt("d.health")+"\t\t\t");
  45. System.out.println(resultSet.getInt("d.love")+"\t\t");
  46. }
  47. } catch (ClassNotFoundException e) {
  48. e.printStackTrace();
  49. } catch (SQLException e) {
  50. e.printStackTrace();
  51. }finally {
  52. try {
  53. if (connection != null) {
  54. connection.close();
  55. }
  56. if(preparedStatement != null){
  57. preparedStatement.close();
  58. }
  59. if(resultSet != null){
  60. resultSet.close();
  61. }
  62. } catch (SQLException e) {
  63. e.printStackTrace();
  64. }
  65. }
  66. }
  67. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/631482
推荐阅读
相关标签
  

闽ICP备14008679号