当前位置:Gxlcms > 数据库问题 > dljd_(007_008)_jdbc执行DQL/DML/DDL语句

dljd_(007_008)_jdbc执行DQL/DML/DDL语句

时间:2021-07-01 10:21:17 帮助过:3人阅读

database jdbc; use jdbc; create table test( id int primary key auto_increment, name varchar(10) ); insert into test values(1,"name1"); insert into test values(2,"name2"); insert into test values(3,"name3"); insert into test values(4,"name4"); insert into test values(5,"name5");

  1.2代码实现

  

package edu.aeon.jdbc;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * [说明]:测试jdbc
 * @author aeon(qq:1584875179)
 *
 */

public class Test {
    /**
     * jdbc执行DQL语句
     */
    public static void testDQL(){
        Connection connection=null;
        Statement statement=null;
        ResultSet resultSet=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String dql_sql="select * from test;";
            resultSet=statement.executeQuery(dql_sql);
            System.out.println("序号\t名    称");
            while(resultSet.next()){
                int id=resultSet.getInt("id");
                String name=resultSet.getString("name");
                System.out.println(id+"\t"+name);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=resultSet){
                    resultSet.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
    }
    
    /**
     * jdbc执行DML语句
     */
    public static void testDML(){
        Connection connection=null;
        Statement statement=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String dml_sql="insert into test(name) values(‘name6‘)";
            int num=statement.executeUpdate(dml_sql);
            System.out.println("受影响的行数为:"+num);
            
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
    }

    /**
     * jdbc执行DDL语句
     */
    public static void testDDL(){
        Connection connection=null;
        Statement statement=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String ddl_sql="create table users(id int(4) primary key auto_increment,name varchar(10),password varchar(16));";
            int num=statement.executeUpdate(ddl_sql);
            System.out.println("受影响的行数为:"+num);
            
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
    }
    /**
     * jdbc使用excute方法同时可以执行DQL/DML/DDL语句
     */
    public static void testDQLDMLDDL(){
        Connection connection=null;
        Statement statement=null;
        ResultSet resultSet=null;
        try {
            Driver driver=new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(driver);
            String url="jdbc:mysql://localhost:3306/jdbc";
            String username="root";
            String password="root";
            connection=DriverManager.getConnection(url, username, password);
            statement=connection.createStatement();
            String sql="insert into test(name) values(‘name6‘)";
            if(statement.execute(sql)){//如果返回true则表示执行的是DQL,有结果集返回,如果为false则表示返回的是更新计数器
                resultSet=statement.getResultSet();
                System.out.println("序号\t名    称");
                while(resultSet.next()){
                    int id=resultSet.getInt("id");
                    String name=resultSet.getString("name");
                    System.out.println(id+"\t"+name);
                }
            }else{//如果为false则表示返回的是更新计数器
                int num =statement.getUpdateCount();
                System.out.println("更新了"+num+"条数据!");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(null!=statement){
                    statement.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if(null!=connection){
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
    }
    
    public static void main(String[] args) {
        //testDQL();
        //testDML();
        //testDDL();
        testDQLDMLDDL();
    }

}

 测试正常通过!

二、注册驱动的方式

  技术图片

   技术图片

 

dljd_(007_008)_jdbc执行DQL/DML/DDL语句

标签:mamicode   []   localhost   import   code   tst   get   public   upd   

人气教程排行