JAVA连接MySQL数据库(Eclipse IDE)

下载驱动包

Java 连接 MySQL 需要驱动包:
点击进入最新下载地址
地址:http://dev.mysql.com/downloads/connector/j/
解压后得到jar库文件。
也可使用此地址直接下载
mysql-connector-java-5.1.39-bin.jar
MySQL 8.0以上版本连接有所不同

  1. MySQL 8.0以上版本驱动:mysql-connector-java-8.0.16.jar

  2. com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver

  3. MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。

    最后还需要设置 CST。
    加载驱动方式:

`Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&serverTimezone=UTC","root","password");

eclipse配置

先创建一个项目,右键点击项目,选择 构建路径(Build Path) ,配置构建路径(Configure Build Path.) 选中库(Libraries),添加外部jar ,选择下载的jar即可。
构建图样式

连接测试

引入包 import java.sql.*

import java.sql.*;
public class Mysqlcode{
	static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  
    static final String DB_URL = "jdbc:mysql://localhost:3306/lbbrary?useSSL=false&serverTimezone=UTC";
    private String name="用户名";
	private String pwd="密码";
	//根据传入的用户名在数据库中查找对应的密码进行比较是否一致
	public void gotomysql( String uname,String upwd) {

		Connection coon =null;
		Statement stmt =null;
		try {
			Class.forName(JDBC_DRIVER);
			System.out.println("链接数据库");
			coon = DriverManager.getConnection(DB_URL,name,pwd);
			System.out.println(" 实例化Statement对象...");
	        stmt = coon.createStatement();
	        String sql;
	        //根据用户名查找是否有符号的密码
	        sql = "SELECT UNAME,PASSWORD FROM users where UNAME='x'";
	        sql=sql.replaceFirst("x", uname);
	        System.out.println(sql);
	        ResultSet rs = stmt.executeQuery(sql);
	        while(rs.next()) {
	        	String username =rs.getNString("UNAME");
	        	String PASSWD =rs.getNString("PASSWORD");
	        	LoginStatue lo=new LoginStatue();
	        	upwd=getMD5String(upwd);
	        	System.out.println(upwd);
	        	//密码正确
	        	if(uname.equals(username)&&upwd.equals(PASSWD)) {
	        		System.out.println(username);
	        		System.out.println(PASSWD);
	        	}
	        	else
	        	{
	        	//点击退出结束程序
	        		System.out.print("密码错误");
	        	}
	        	}
	        
	        rs.close();
	        stmt.close();
	       coon.close();
		}
	        catch(SQLException se){
	            // 处理 JDBC 错误
	            se.printStackTrace();
	        }catch(Exception e){
	            // 处理 Class.forName 错误
	            e.printStackTrace();
	        }finally{
	            // 关闭资源
	            try{
	                if(stmt!=null) stmt.close();
	            }catch(SQLException se2){
	            }// 什么都不做
	            try{
	                if(coon!=null) coon.close();
	            }catch(SQLException se){
	                se.printStackTrace();
	            }
	        }
	        System.out.println("Goodbye!");
		}
在向数据库中存密码时使用MD5 加密
public static String getMD5String(String str) {

	    try {
	        // 生成一个MD5加密计算摘要
	        MessageDigest md = MessageDigest.getInstance("MD5");
	        // 计算md5函数
	        md.update(str.getBytes());
	        return new BigInteger(1, md.digest()).toString(16);
	    } catch (Exception e) {
	       e.printStackTrace();
	       return null;
	    }
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值