【Java】连接数据库MySQL

工具: eclipse
    MySQL
    Navicat for MySQL
    MySQL 连接驱动:mysql-connector-java-5.0.4-bin.jar

SQL 代码

CREATE TABLE user
(
    id          INT             AUTO_INCREMENT PRIMARY KEY,
    name        VARCHAR(30)     NOT NULL,
    password        VARCHAR(32)     NOT NULL,
    age     INT             NOT NULL,
    sex     VARCHAR(2)      DEFAULT'男',
    birthday    DATE
);

Java 连接

所需的jar包下载

百度网盘 提取码: 68pv

使用方法:
  1. 在工程目录中创建lib文件夹,将下载好的JDBC(jar包)放到该文件夹下。
  2. 右键工程名,选择 Buiding Path | Configure Buiding Path ,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC(jar包)。

数据库连接并模糊查询代码

定义:

  1. 定义加载数据库驱动程序
  2. 定义数据库连接地址:主机名称:端口号 / 数据库名
  3. 定义数据库连接用户名
  4. 定义数据库连接密码

加载:

  1. 根据驱动完整类名实例化Class对象(即 加载驱动类)
  2. 创建连接对象:连接数据库MySQL数据库时,要写上连接的用户名和密码
  3. 创建SQL语句对象
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

public class PreparedStatementDemo {
        // 定义MySQL的数据库驱动程序
        public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";            //驱动程序在jar包中,此字符串是Driver.class的地址
        // 定义MySQL数据库的连接地址
        public static final String DBURL = "jdbc:mysql://localhost:3306/MySQL";     //主机名称:端口号 / 数据库名
        // MySQL数据库的连接用户名
        public static final String DBUSER = "root";
        // MySQL数据库的连接密码
        public static final String DBPASS = "mysqladmin";
    public static void main(String[] args) {
        String keyWord = "李";       //设置查询关键字
        String sql = "SELECT id,name,password,age,sex,birthday" + " FROM user WHERE name LIKE ? OR password LIKE ? OR sex LIKE ?";//SQL语句
        try {
            //Class.forName()是为了完整的“包.类”名称实例化Class对象。
            //根据类的路径找到类的字节码,然后加载到java虚拟机里面,这样就可以调用类的方法
            Class.forName(DBDRIVER);
            //创建连接对象 连接数据库MySQL数据库时,要写上连接的用户名和密码
            Connection conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);   //数据库连接
            //创建 准备好的语句 对象
            PreparedStatement pstmt = conn.prepareStatement(sql);   //数据库操作,实例化对象
            pstmt.setString(1, "%" + keyWord + "%");        //设置第一个占位符“?”,模糊查询
            pstmt.setString(2, "%" + keyWord + "%");
            pstmt.setString(3, "%" + keyWord + "%");
            ResultSet rs = pstmt.executeQuery();        //保存查询结果,实例化对象
            while(rs.next())    //指针向下移动
            {
                int id = rs.getInt(1);
                String name = rs.getString(2);
                String pass = rs.getString(3);
                int age = rs.getInt(4);
                String sex = rs.getString(5);
                Date birthday = rs.getDate(6);
                System.out.print("编号:" + id + " ");
                System.out.print("姓名:" + name + " ");
                System.out.print("密码:" + pass + " ");
                System.out.print("年龄:" + age + " ");
                System.out.print("性别:" + sex + " ");
                System.out.println("生日:" + birthday);
            }
            rs.close();     //关闭结果集
            pstmt.close();      //操作关闭
            conn.close();       //数据库关闭
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

提示

可保存这此Java项目,下次连接可直接导入,只需修改部分信息。