• JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)


    * 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接)
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /*
        1、JDBC访问数据库的具体步骤:
        a、导入驱动,加载具体的驱动类
        b、与数据库建立连接
        c、发送Sql,执行
        d、处理结果集 
        
        2、API(接口、方法、类) 主要功能:
        a、与数据库建立连接
        b、发送Sql语句1
        c、返回处理结果  
        
        3、API的几个操作:
        a、DriverManager: 管理JDBC驱动
        b、Connection   : 连接 
        c、Statement    : 运行 Sql 语句(增删改查)
        d、CallableStatement : 调用数据库中的存储过程 / 存储函数
        e、Result       : 返回结果集
     */
    public class JDBPMySqlDemo {
    	/*  这些值一般都是不轻易改变的,所以设置为常量
    	   
    	        不同的数据库对应的连接字符串不同,(形式不同,内容类似-------哪种类型的数据库、IP地址、端口号、数据库名)
    	    Oracle : jdbc:oracle:thin:@localhost:1521:数据库实例名 (你创建的数据库的名字)
    	    MySql  : jdbc:mysql://localhost:3306/数据库实例名
    	    SQLServer : jdbc:microsoft:sqlserver:localhost:1433;databasename = 数据库实例名
    	 
    	 
    	  
         */
    	private static final String URL = "jdbc:mysql://localhost:3306/testdate";
    	private static final String USER = "root";
    	private static final String PWD = "root";
    
    	public static void update() { // 静态方法要求其内部用到的变量也应该是静态的(所以上述变量也应该设置为静态变量)
    		// 因为要进行两次异常处理,所以需要将变量设置成相对于 try..catch..语句的外部变量
    		Statement stam = null;         // 会抛出SQLException异常
    		Connection connection = null;  // 会抛出ClassNotFoundException异常
    		try {
    			/* 
    			       驱动在每个数据库各自对应的 jar包中,所以需要先把各个数据库对应的包进行导入
    			       
    			       驱 动jar:(可以在这个链接中进行查找:https://mvnrepository.com/)
    			   		Oracle:ojdbc-x.jar
    			   		MySql:mysql-connector-java-x.jar
    			   		SqlServer:sqljdbc-x.jar   
    			   		
    			       导入驱动(不同的数据库对应的驱动不同)
    			   		Oracle : oracle.jdbc.OracleDriver
    			   		MySql  : com.mysql.jdbc.Driver
    			   		SqlServer : com.mircrosoft.sqlserver.jdbc.SQLServerDriver
    			*/
    			
    		    // 导入驱动(加载具体的驱动类)
    			Class.forName("com.mysql.jdbc.Driver");
    			// 连接(通过DriverManager.getConnection(连接字符串,用户名,密码))方法进行连接
    			connection = DriverManager.getConnection(URL, USER, PWD);
    			// 运行SQL语句(想要运行SQL语句要先创建一个Statement对象,用这个实例对象进行操作)
    			stam = connection.createStatement();
    			
    			// 将sql语句作为字符串进行执行
    //			String sql = "delete from student where stuno = 2";
    			String sql = "insert into student values(2,'zs',12,'s3')";
                // 通过stam的方法进行执行SQL语句进行更新数据库(返回值是影响的行数 (int) )
    			int count = stam.executeUpdate(sql);
    			if (count > 0) {
    				System.out.println("操作成功!");
    			}
    		} catch (ClassNotFoundException e) {   // 出现异常时最好一个一个处理(更加安全)
    			e.printStackTrace();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {     // 无论操作成功与否,我们都要进行关闭操作(放在Finally必定对执行)
    			try {
    				// 如果还没有执行到给 stam 变量赋值就已经异常处理了,那么stam还是 null,就会null.close(),从而出现空指针的问题
    				if(stam != null) stam.close();   // 避免出现空指针
    				if(connection != null)connection.close();
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	public static void main(String[] args) {
    		// 将update() 设置为静态方法,便于调用
    		update();
    	}
    
    }
    
    如果写的不太清晰,或者有问题,可以留言,本人会认真回答。
    
    颜大佬的视频链接:https://www.bilibili.com/video/av29086718?p=13
    
    
    如果说年轻人未来是一场盛宴的话,那么我首先要有赴宴的资格。
  • 相关阅读:
    转发自lealii 的博客,如有侵权请通知删除
    SQL注入详解-转发
    IT实用技术资源整理
    JMeter-接口自动化之正则表达式关联
    转发自_destiny如有侵权请联系删除
    二元数组的最小值最大和
    连续区间和大于等于某个数(弱化版)
    独一无二的最小生成树
    牛客小白月赛19 弱版 C
    牛客 安徽大学新生赛 G
  • 原文地址:https://www.cnblogs.com/prjruckyone/p/12220966.html
Copyright © 2020-2023  润新知