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开始).

  • 相关阅读:
    JVM学习-垃圾回收算法
    JVM学习-jvm判断对象已死的方法
    JVM学习-jvm内存区域
    python 多线程
    Python+unittest+requests+excel实现接口自动化测试框架
    linux 运行tensorflow文件缺少_bz2问题及解决
    获取url地址
    微信小程序的小问题(2)
    微信小程序的小问题(1)
    前端知识
  • 原文地址:https://www.cnblogs.com/LexMoon/p/JDBCcz.html
Copyright © 2011-2022 走看看