logo logo
关于我们

技术分享

技术分享 java-JDBC连接mysql数据库

java-JDBC连接mysql数据库

2018-07-05

一.下载与安装mysql connector/j(mysql数据库驱动)

可以mysql下载,注意:官网下载页面有2个版本的驱动包,.zip结尾的是windows操作系统用的,.tar.gz是Linux操作系统用的。

二.安装mysql connector/j 驱动

方法1:在windows系统中,将驱动压缩包解压后,将其路径添加到环境变量中,放在classpath变量中添加解压后里面的一个.jar的文件路径即可。(安装后,windows系统中需要重新启动电脑)

方法2:直接将.jar的驱动文件放到项目的lib目录文件下。

java-JDBC连接mysql数据库

三.Java连接mysql数据库

DriverManager 类:负责加载各种不同的驱动程序;

Connection 接口:数据库连接,负责进行数据库间的通信

Statement 接口:主要用于执行SQL语句。

RrsultSet 接口:主要用于储存数据库返回的记录。

具体操作如下:

1.指定mysql驱动程序。

Class.forName("com.mysql.jdbc.Driver");

2.使用getConnection()方法连接数据库。

DriverManager.getConnection(URL,username,password);

其中:url是程序要连接的数据库和要使用的jdbc驱动程序,username是程序连接时所用的数据库用户名,password是数据库密码。

四.java操作mysql数据库

1.创建Statement对象

Connection  conn=DriverManager.getConnection(URL,USER,PASSWORD);//接到上一步的连接数据库

Statement mystatement=conn.createStatement();

2.使用SQL语句

ResultSet rs=statement.executeQuery("SQL语句")

五.简版实例:

package DBconnect;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Statement;

public class DBconnect {
	private static final String URL = "jdbc:mysql://127.0.0.1:3306/company";
	private static final String USER = "root";
	private static final String PASSWORD = "123";
	private static Connection conn = null;
	static {
		try {
			// 1.指定mysql驱动程序
			Class.forName("com.mysql.jdbc.Driver");
			// 2.使用getConnection()方法连接数据库
			conn=DriverManager.getConnection(URL,USER,PASSWORD);
			//3.创建Statement对象,用于执行sql语句
			Statement stmt=(Statement) conn.createStatement();
			String sql = "" + "select*from offices";//要执行的sql语句
			//4.数据库操作结果记录
			ResultSet rs=stmt.executeQuery(sql);
//5.输出查询结果
			while(rs.next()){
				System.out.println(rs.getString(2));
			}
//6.关闭接口
			rs.close();//先关闭记录
			stmt.close();//再关闭sql语句直接接口
			conn.close();//最后关闭数据库连接
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

六.更严谨的实例(摘自:https://my.oschina.net/yuanmuou/blog/747974)

package com.util.dbmethod;

import java.sql.*;

/**
 * @author yuanmuou
 * @功能:数据库函数集合
 * @要求:需要引入mysql-jdbc驱动
 */
public class Database {
    private static final String user = "root";// 数据库用户名
    private static final String password = "123";// 数据库密码
    private static String dbname = "shop";// 数据库名

    static PreparedStatement prestate=null;
    private static final String driver = "com.mysql.jdbc.Driver";
    private static Connection connect = null;// 数据库连接
    private static final String url = "jdbc:mysql://localhost:3306/" + dbname
            + "?useUnicode=true&characterEncoding=UTF-8";

    static {
        try {
            Class.forName(driver);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("错误:加载驱动失败,请检查驱动是否加载。错误信息:" + e.getMessage());
        }
    }

    /**
     * @return boolean 检查是否设置了数据库
     */
    public static boolean isSetDbname() {
        if (dbname == null || dbname.equals(""))
            return false;
        else
            return true;
    }

    /**
     * @return Connection 数据库连接对象
     */
    public static Connection getConnection() {
        if (connect == null) {
            try {
                if (isSetDbname())
                    connect = DriverManager.getConnection(url, user, password);
                else {
                    System.out.println("错误:未设置数据库名");
                }
            } catch (SQLException e) {
                System.out.println("错误:数据库连接失败,请检查数据库名,密码,用户名是否正确");
                e.printStackTrace();
            }
            return connect;
        }
        return connect;
    }
    /** 
     * @param string sql SQL语句
     * @功能 执行SQL查询
     * @返回 结果集
     */
    public static ResultSet doQuery(String sql){
        if((connect=getConnection())==null)
            return null;
        else{
            
            try {
                ResultSet resultset = prestate.executeQuery(sql);
                return resultset;
            } catch (SQLException e) {
                System.out.println("错误:sql语句执行出错");
                e.printStackTrace();
            }
        }
        return null;
    }
        /**
         * 下面是示例程序(可以删除)
         */
    public static void main(String[] args) {
        try {
            Connection con = Database.getConnection();
            if (con != null) {
                System.out.println("数据库连接正常");
            } else {
                System.out.println("数据库连接失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}

 

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 云计算

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

jia7jia_7
请添加好友
为您提供支持

请拨打电话
为您提供支持

400-9955-698