zoukankan      html  css  js  c++  java
  • 使用 JDBC 连接MySQL 、SQL Server数据库

    使用 JDBC 连接 MySQL、SQL Server数据库



    ## 系统配置
    > Microsoft Windows 版本 > OS 名称: **Microsoft Windows 10 专业版** > OS 版本: **10.0.17763 暂缺 Build 17763 (1809)** > OS 制造商: **Microsoft Corporation** > > MySQL **8.0.16** > Microsoft SQL Server **2008 (RTM) - 10.0.1600.22 (X64)** Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Evaluation Edition (64-bit) on Windows NT 6.2 (Build 9200: ) > JDBC for MySQL **mysql-connector-java-5.1.47** > JDBC for SQL Server **Microsoft JDBC Driver 7.2 for SQL Server(chs)**

    ## 下载对应JDBC驱动
    链接:https://pan.baidu.com/s/1u1ZqK0ERWWtWbXC_zgxIXQ 
    提取码:cg17 
    


    配置相关环境


    有以下两种方式加载JDBC驱动: + 根据系统平台和JDK版本,选择所下载驱动文件夹中对应的驱动(如 mysql-connector-java-5.1.47-bin.jar 或 mssql-jdbc-7.2.2.jre8.jar 等文件),复制到JDK安装目录 **jre/lib/ext** 下。 + 使用IDE(Eclipse、MyEclipse、Idea)右键 **Configure Build Path**、**Project Structure** 菜单来 **Add External JARs**、**Add Library Files**,具体详细步骤请移步百度。
    **注意:** 使用 Windows 身份验证连接 SQL Server 时,需要根据系统平台复制对应驱动包文件夹 **auth** 下 **x86 x64 **文件夹中 **sqljdbc_auth.dll** 到 JDK 安装目录的 **bin** 目录。

    准备好连接


    然后可以通过以下 **public static Connection getMySQLConnect(String USER, String PASSWORD, String dataBaseName, String port) 、public static Connection getSQLServerConnectByWindowsAccount(String dataBaseName) 、 public static Connection getSQLServerConnectBySQLAuthorization(String dataBaseName, String USER, String PASSWORD)** 方法来进行与 MySQL、SQL Server 连接,返回 **Connection** 对象。
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class DataBaseConnect {
    	/**
    	 * 
    	 * 连接MySQL数据库
    	 * @param USER 用户
    	 * @param PASSWORD 密码
    	 * @param dataBaseName 数据库
    	 * @param port 端口
    	 * @return 连接对象
    	 */
    	public static Connection getMySQLConnect(String USER, String PASSWORD, String dataBaseName, String port) {
    		Connection con = null;
    		String DbDriver = "com.mysql.jdbc.Driver";
    		String URL = "jdbc:mysql://localhost:" + port + "/" + dataBaseName + "?characterEncoding=utf8&useSSL=false"; 
    		try {
    			Class.forName(DbDriver);
    			con = DriverManager.getConnection(URL, USER, PASSWORD);
    			if  (con != null) {
    				System.out.println("Connect MySQL " + dataBaseName + " Success");
    			} else {
    				System.out.println("Connect MySQL " + dataBaseName + " Fail");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return con;
    	}
    	
    	/**
    	 * 使用Windows验证连接SQL Server数据库
    	 * 
    	 * 注意;
    	 * 请选择所下载驱动包sqljdbc中 auth 文件夹下x64 x86两文件夹对应好jdk平台 复制其下的 sqljdbc_auth.dll 文件到jdk安装目录下bin文件夹
    	 * 
    	 * 否则将会报 “com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。” 异常。
    	 * 
    	 * @param dataBaseName 数据库
    	 * @return 连接对象
    	 */
    	public static Connection getSQLServerConnectByWindowsAccount(String dataBaseName) {
    		Connection con = null;
    		PreparedStatement ps = null;
    		ResultSet result = null;
    		String DbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    		String URL = "jdbc:sqlserver://localhost:1433;integratedSecurity=true;databaseName=" + dataBaseName;
    		try {
    			Class.forName(DbDriver);
    			con = DriverManager.getConnection(URL);
    			if (con != null) {
    				System.out.println("Use Windows Authorization Connect " + dataBaseName + " Success");
    			} else {
    				System.out.println("Use Windows Authorization Connect " + dataBaseName + " Fail");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    		return con;
    	}
    	
    	/**
    	 * 使用SQL验证连接SQL Server数据库
    	 * @param dataBaseName 数据库
    	 * @param USER 用户名
    	 * @param PASSWORD 密码
    	 * @return 连接对象
    	 */
    	public static Connection getSQLServerConnectBySQLAuthorization(String dataBaseName, String USER, String PASSWORD) {
    		Connection con = null;
    		String DbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    		String URL = "jdbc:sqlserver://localhost:1433;databaseName=" + dataBaseName;
    		try {
    			Class.forName(DbDriver);
    			con = DriverManager.getConnection(URL,USER,PASSWORD);
    			if (con != null) {
    				System.out.println("Use SQL Authorization Connect " + dataBaseName + " Success");
    			} else {
    				System.out.println("Use SQL Authorization Connect " +  dataBaseName + " Fail");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    		return con;
    	}
    	
    	/**
    	 * 主调用方法:
    	 * 根据实际情况可以删除 然后在别处调用即可
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// 用户名 密码 数据库 端口(默认3306)
    		getMySQLConnect("root", "root", "sys", "3307");
    		// 数据库
    		getSQLServerConnectByWindowsAccount("tempdb");
    		// 数据库 用户名(默认sa) 密码 (请确保 服务器属性-安全性 下 服务器身份验证 方式为 SQL Server 和 Windows 身份验证模式)
    		getSQLServerConnectBySQLAuthorization("tempdb", "sa", "123456");
    	}
    	
    }
    
    


  • 相关阅读:
    VMWare虚拟机非正常关机后无法启动
    curl: (1) Protocol "'https" not supported or disabled in libcurl的解决方法
    spring security入门
    oracle中可以使用drop、delete和truncate三个命令来删除数据库中的表
    com.github.pagehelper:pagehelper:jar:3.4.2-fix.jar
    oracle jdbc驱动 ojdbc14-10.2.0.4.0.jar 网盘下载
    PDF复制SQL语句没有换行符的解决办法
    rpm -qa | grep mysql查询不到MySQL
    新文预览 | IoU-aware Single-stage Object Detector for Accurate Localization
    目标检测 | RetinaNet:Focal Loss for Dense Object Detection
  • 原文地址:https://www.cnblogs.com/notfound/p/10921774.html
Copyright © 2011-2022 走看看