java-JDBC链接mysql数据库

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

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

二.安装mysql connector/j 驱动sql

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

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

三.Java链接mysql数据库函数

DriverManager 类:负责加载各类不一样的驱动程序;url

Connection 接口:数据库链接,负责进行数据库间的通讯spa

Statement 接口:主要用于执行SQL语句。操作系统

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

具体操做以下:

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();
        }
        
    }
}
相关文章
相关标签/搜索