• JDBC编程的六个步骤以及使用示例(详细)


    JDBC编程的六个步骤

    1.注册驱动:通知Java程序我们要连接的是哪个品牌的数据库

    2.获取数据库连接:Java进程和Mysql进程之间的通道开启了

    3.获取数据库操作对象:这个对象是用来执行sql语句

    4.执行SQL语句:对数据库进行CRUD(增删改查)操作

    5.处理查询结果集:如果第四步有select语句才有这一步

    6.释放资源:关闭所有资源

    使用示例

    例1:不带处理查询结果集的JDBC

    1. package com.xiaoma.JDBC;
    2. import java.sql.*;
    3. public class TestJDBC {
    4. public static void main(String[] args) throws SQLException {
    5. //1.注册驱动
    6. com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
    7. DriverManager.registerDriver(driver);
    8. //2.获取数据库连接对象
    9. String url="jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
    10. String username="root";
    11. String password="123456";
    12. Connection conn=DriverManager.getConnection(url,username,password);
    13. System.out.println(conn);
    14. //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
    15. Statement statement = conn.createStatement();
    16. //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
    17. //String InsertSql="insert into people(name,age,address) values('小马',18,'山东省')";
    18. String DeleteSql="delete from people where name='小马'";
    19. //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
    20. int i = statement.executeUpdate(DeleteSql);
    21. System.out.println(i);
    22. //5.释放资源,先释放statement再释放connection
    23. if (statement != null) {
    24. statement.close();
    25. }
    26. if (conn != null){
    27. conn.close();
    28. }
    29. }
    30. }

    例2:带处理查询结果集的JDBC

    1. package com.xiaoma.JDBC;
    2. import java.sql.*;
    3. public class TestJDBC02 {
    4. public static void main(String[] args) throws SQLException {
    5. //1.注册驱动
    6. com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
    7. DriverManager.registerDriver(driver);
    8. //2.获取数据库连接对象
    9. String url="jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
    10. String username="root";
    11. String password="123456";
    12. Connection conn=DriverManager.getConnection(url,username,password);
    13. System.out.println(conn);
    14. //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
    15. Statement statement = conn.createStatement();
    16. //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
    17. String SeleteSql="select * from people";
    18. //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
    19. ResultSet resultSet = statement.executeQuery(SeleteSql);
    20. //5.处理查询结果集
    21. while(resultSet.next()){
    22. //这个getString()方法是不管数据库中的值是什么类型的,他都会以String类型返回
    23. //getString()是通过下标取值的,默认都是以字符串类型取出,可以通过相应类型的get方法取出特定类型的值
    24. System.out.println(resultSet.getString(1));
    25. System.out.println(resultSet.getString(2));
    26. System.out.println(resultSet.getString(3));
    27. System.out.println(resultSet.getString(4));
    28. }
    29. //6.释放资源,先释放statement再释放connection
    30. if (statement != null) {
    31. statement.close();
    32. }
    33. if (conn != null){
    34. conn.close();
    35. }
    36. if(resultSet!=null){
    37. resultSet.close();
    38. }
    39. }
    40. }

    例3:将数据库连接信息写到properties配置文件中,通过读取properties配置文件连接数据库,进行查询(做开发基本上都用这种方式)

    1. package com.xiaoma.JDBC;
    2. import java.io.IOException;
    3. import java.io.InputStream;
    4. import java.sql.*;
    5. import java.util.Properties;
    6. import java.util.ResourceBundle;
    7. //读取配置文件
    8. public class TestJDBC03 {
    9. public static void main(String[] args) throws SQLException, IOException {
    10. //获取配置文件数据
    11. InputStream is=TestJDBC03.class.getClassLoader().getResourceAsStream("db.properties");
    12. Properties pro=new Properties();
    13. pro.load(is);
    14. String username= pro.getProperty("username");
    15. String password=pro.getProperty("password");
    16. String url=pro.getProperty("url");
    17. //1.注册驱动
    18. com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
    19. //2.获取数据库连接对象
    20. Connection conn=DriverManager.getConnection(url,username,password);
    21. System.out.println(conn);
    22. //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
    23. Statement statement = conn.createStatement();
    24. //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
    25. String SeleteSql="select * from people";
    26. //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
    27. ResultSet resultSet = statement.executeQuery(SeleteSql);
    28. //5.处理查询结果集
    29. while(resultSet.next()){
    30. //这个getString()方法是不管数据库中的值是什么类型的,他都会以String类型返回
    31. //getString()是通过下标取值的,默认都是以字符串类型取出,可以通过相应类型的get方法取出特定类型的值
    32. System.out.println(resultSet.getString(1));
    33. System.out.println(resultSet.getString(2));
    34. System.out.println(resultSet.getString(3));
    35. System.out.println(resultSet.getString(4));
    36. }
    37. //6.释放资源,先释放statement再释放connection
    38. if (statement != null) {
    39. statement.close();
    40. }
    41. if (conn != null){
    42. conn.close();
    43. }
    44. if(resultSet!=null){
    45. resultSet.close();
    46. }
    47. }
    48. }
  • 相关阅读:
    Iterm2设置
    操作系统学习笔记
    PyCharm 安装库时显示连接超时
    抖音矩阵系统源码定制独立部署,here
    【PyTorch】数据封装和模型保存
    【wxWidgets实现透明wxPanel_核心实现_原创思想】
    Request & Response
    springBoot如何集成feign呢?
    Java面试题(24)-单例模式的几种写法
    微服务简介
  • 原文地址:https://blog.csdn.net/Sophia_0331/article/details/126924767