Java连接数据库之MySQL

本文详细介绍如何在Java环境中使用Eclipse IDE与Navicat for MySQL工具连接MySQL数据库,并通过预编译语句实现对数据库的模糊查询。文章提供了一个具体的示例,包括创建用户表、配置JDBC驱动、编写查询代码等步骤。

工具: 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包)。

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

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()是根据类的路径找到类的字节码,然后加载到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项目,下次连接可直接导入,只需修改部分信息。

转载于:https://www.cnblogs.com/blknemo/p/10038731.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值