Java连接Mysql数据库——JDBC

java连接数据库时会随着mysql版本的变化而导致驱动配置方面有一些不同。暂时只用过mysql5.0左右的版本和mysql8.0.11。所以这里就只讲这两个版本,基本对应版本开头数字下的驱动基本大同小异。

mysql5.0
mysql5.0版本要用对应的驱动jar包,官网上、网上都有资源。

DBUtils类 初始化驱动

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtils {  
	public static final String url = "jdbc:mysql://localhost:3306/数据库名";  
    public static final String name = "com.mysql.jdbc.Driver";
    public static final String user = "root";  
    public static final String password = "root";  
  
    public static Connection getConnection() {
    	Connection conn = null; 
    	try {  
            Class.forName(name);//指定连接类型  
            conn = DriverManager.getConnection(url, user, password);//获取连接  
        }catch(ClassNotFoundException e)
    	{
        	e.printStackTrace();
    	} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	return conn;
    }  
    
    public static void close(Connection conn) {  
        if(conn!=null) {
        	try {
        		conn.close();
        	}catch (SQLException e) {
				// TODO: handle exception
        		e.printStackTrace();
			}
        }
    }
}

mysql8.0.11
mysql8版本在驱动和连接方面和5有区别,同时jar包也有区别。适用于mysql8.0.11的jar包要去官网上下载, 官网下载地址 ,刚刚看好像关闭了下载通道??可以去网上找找有没有资源,或者只是这一会关闭了。

DBUtils类

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtils {  
	public static final String url = "jdbc:mysql://localhost:3306/数据库名?&useSSL=false&serverTimezone=GMT";  
    public static final String name = "com.mysql.cj.jdbc.Driver";
    public static final String user = "root";  
    public static final String password = "root";  
  
    public static Connection getConnection() {
    	Connection conn = null; 
    	try {  
            Class.forName(name);//指定连接类型  
            conn = DriverManager.getConnection(url, user, password);//获取连接  
        }catch(ClassNotFoundException e)
    	{
        	e.printStackTrace();
    	} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	return conn;
    }  
    
    public static void close(Connection conn) {  
        if(conn!=null) {
        	try {
        		conn.close();
        	}catch (SQLException e) {
				// TODO: handle exception
        		e.printStackTrace();
			}
        }
    }
}

查询

 Connection con; 
 Statement sql;
 ResultSet rs;
 try {
 	con=DBUtils.getConnection();
 	 sql=con.createStatement();
 	 rs=sql.executeQuery("select * from 表名;"); 
 	 	while(rs.next()){
 	 		String a=rs.getString(1);
 	 		int b=rs.getInt(2);
 	 		float c=rs.getFloat(3);
 	 		String d=rs.getString(4);
 	 	}
 	 }catch(Exception e){
 	 	System.out.println(e);
 	 }

插入

Connection con;
PreparedStatement sql;
try {
	con=DBUtils.getConnection();
	String str="insert into 表名 values(?,?,?,?,?);";  //问号表示占位符
	sql=con.prepareStatement(str);  //预处理
	//为问号填上对应的值
	sql.setInt(1,0);//主键为自增型,可以填零或者null 
	sql.setString(2, “a”);
	sql.setInt(3, 1);
	sql.setString(4, "b");
	sql.setString(5, “c”);
	sql.executeUpdate();
	System.out.println("成功添加");
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

删除

//只需把插入中的str换成删除语句,再给占位符填上值即可。
Connection con;
PreparedStatement sql;
try {
	con=DBUtils.getConnection();
	String str=“Delete from 表名 where 字段=?;”;  //问号表示占位符
	sql=con.prepareStatement(str);  //预处理
	//为问号填上对应的值
	sql.setString(1, “a”);
	sql.executeUpdate();
	System.out.println("成功删除");
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

更新

//只需把str更换成更新语句,再给占位符填上值即可。
String str="Update 表名 set 字段=? where 字段=?;"

这样我们就讲完了java用JDBC的方式连接mysql数据库,如果有错误欢迎指出ヾ(●︎´ε `●︎ )ゞ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值