一.下载与安装mysql connector/j(mysql数据库驱动)
可以mysql下载,注意:官网下载页面有2个版本的驱动包,.zip结尾的是windows操作系统用的,.tar.gz是Linux操作系统用的。
二.安装mysql connector/j 驱动
方法1:在windows系统中,将驱动压缩包解压后,将其路径添加到环境变量中,放在classpath变量中添加解压后里面的一个.jar的文件路径即可。(安装后,windows系统中需要重新启动电脑)
方法2:直接将.jar的驱动文件放到项目的lib目录文件下。
三.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();
}
}
}
六.更严谨的实例(摘自:)
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();
}
}
}