zoukankan      html  css  js  c++  java
  • JDBC数据库操作


    JDBC:

        创建SQL语句对象    Statement statement = (Statement) con.createStatement() ;

        调用执行        statement.executeUpdate(sqlString);

        释放资源             statement.close();

      一 :  创建表的操作代码:

     1 package JDBC;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.SQLException;
     6 
     7 import com.mysql.jdbc.Statement;
     8 
     9 public class Demo {
    10     // 数据库地址
    11     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
    12     // 用户名
    13     private static String dbUserName="root";
    14     // 密码
    15     private static String dbPassword="root";
    16     // 驱动名称
    17     private static String jdbcName="com.mysql.jdbc.Driver";
    18     
    19     public static void main(String[] args) {
    20         try {
    21             Class.forName(jdbcName);
    22             System.out.println("加载驱动成功!");
    23         } catch (ClassNotFoundException e) {
    24             // TODO Auto-generated catch block
    25             e.printStackTrace();
    26             System.out.println("加载驱动失败!");
    27         }
    28         Connection con=null;
    29         try {
    30             // 获取数据库连接
    31             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
    32             System.out.println("获取数据库连接成功!");
    33             System.out.println("进行数据库操作!");
    34             // 创建sql语句
    35             String sqlString =  "CREATE TABLE t_student(id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT)";
    36             // 创建语句对象
    37             Statement statement = (Statement) con.createStatement() ;
    38             // 执行sql语句
    39             statement.executeUpdate(sqlString);
    40             statement.close();
    41         } catch (SQLException e) {
    42             // TODO Auto-generated catch block
    43             e.printStackTrace();
    44         }finally{
    45             try {
    46                 con.close();
    47             } catch (SQLException e) {
    48                 // TODO Auto-generated catch block
    49                 e.printStackTrace();
    50             }
    51         }
    52     }
    53     
    54 }

    二 : 处理异常和关闭资源(对上部分代码优化)

     1 package JDBC;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.SQLException;
     6 
     7 import com.mysql.jdbc.Statement;
     8 
     9 public class Demo {
    10     // 数据库地址
    11     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
    12     // 用户名
    13     private static String dbUserName="root";
    14     // 密码
    15     private static String dbPassword="root";
    16     
    17     public static void main(String[] args) {
    18         Connection con=null;
    19         Statement statement = null ;
    20         try {
    21             // 获取数据库连接
    22             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
    23             System.out.println("获取数据库连接成功!");
    24             System.out.println("进行数据库操作!");
    25             // 创建sql语句
    26             String sqlString =  "CREATE TABLE t_student(id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT)";
    27             // 创建语句对象
    28             statement = (Statement) con.createStatement() ;
    29             // 执行sql语句
    30             statement.executeUpdate(sqlString);
    31         } catch (SQLException e) {
    32             // TODO Auto-generated catch block
    33             e.printStackTrace();
    34         }finally{
    35             try {
    36                 con.close();
    37                 statement.close();
    38             } catch (SQLException e) {
    39                 // TODO Auto-generated catch block
    40                 e.printStackTrace();
    41             }
    42         }
    43     }
    44     
    45 }

    三 : DML操作

      操作与上述常见表相同,只需修改SQL语句

    四 : 查询操作

      

     1 package JDBC;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.SQLException;
     6 
     7 import com.mysql.jdbc.ResultSet;
     8 import com.mysql.jdbc.Statement;
     9 
    10 public class Demo {
    11     // 数据库地址
    12     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
    13     // 用户名
    14     private static String dbUserName="root";
    15     // 密码
    16     private static String dbPassword="root";
    17     
    18     public static void main(String[] args) throws ClassNotFoundException {
    19         Class.forName("com.mysql.jdbc.Driver") ;
    20         Connection con=null;
    21         Statement statement = null ;
    22         try {
    23             // 获取数据库连接
    24             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
    25             System.out.println("获取数据库连接成功!");
    26             System.out.println("进行数据库操作!");
    27             // 创建sql语句
    28             String sqlString =  "select * from t_student";
    29             // 创建语句对象
    30             statement = (Statement) con.createStatement() ;
    31             // 执行sql语句
    32             ResultSet resultSet = (ResultSet) statement.executeQuery(sqlString);
    33             // 取出查询结果
    34             while(resultSet.next()){
    35                 long id = resultSet.getLong("id") ;
    36                 String nameString = resultSet.getString("name") ;
    37                 long age = resultSet.getLong("age") ;
    38                 System.out.println(id + " " + nameString + " " + age);
    39             }
    40         } catch (SQLException e) {
    41             // TODO Auto-generated catch block
    42             e.printStackTrace();
    43         }finally{
    44             try {
    45                 con.close();
    46                 statement.close();
    47             } catch (SQLException e) {
    48                 // TODO Auto-generated catch block
    49                 e.printStackTrace();
    50             }
    51         }
    52     }
    53     
    54 }

    核心代码:

                // 执行sql语句
                ResultSet resultSet = (ResultSet) statement.executeQuery(sqlString);
                // 取出查询结果
                while(resultSet.next()){
                    long id = resultSet.getLong("id") ;
                    String nameString = resultSet.getString("name") ;
                    long age = resultSet.getLong("age") ;
                    System.out.println(id + " " + nameString + " " + age);
                }

      解释:   executeQuery返回一个ResultSet,是对应的表,开始指向第一行,也就是每一列的名称,此处为id,name,age,然后通过next()将光标下移,通过getLong(String 列名称)取出 或 getLong(Long 列号)取出(从1开始).

  • 相关阅读:
    eslint 的 env 配置是干嘛使的?
    cookie httpOnly 打勾
    如何定制 antd 的样式(theme)
    剑指 Offer 66. 构建乘积数组
    剑指 Offer 65. 不用加减乘除做加法
    剑指 Offer 62. 圆圈中最后剩下的数字
    剑指 Offer 61. 扑克牌中的顺子
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
  • 原文地址:https://www.cnblogs.com/LexMoon/p/JDBCcz.html
Copyright © 2011-2022 走看看