JDBC数据库操作

Java基础

浏览数:88

2019-10-7

AD:资源代下载服务

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

作者:AntzUhl