一.下载与安装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(); } } }
六.更严谨的实例(摘自: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(); } } }