Yunyuzuiluo

10.26如何进行简单的java连接数据库

1 建表

1.win+R 输入cmd
输入 mysql -u root -p
输入 密码
2.查看数据库原本的成员 show databases;
3.创建一个新表,如student create database student;
4.使用
use student;
create table student(
id int,
name varchar(10)
);
5.插入
insert into student value(1,'张三');
insert into student value(2,'李四');
6.查看
select * from student;
show databases;

2导入jar包

文件,项目结构,模块下面的‘+’,找到jar包,记得勾选

3 整体思路

加载驱动
Class.forName("com.mysql.jdbc.Driver");
准备连接字段
String url="jdbc:mysql://localhosy/数据库名(eg:student)";
String user="root";-->用户名
String pssword="123456";-->密码
获取连接的对象
Connection con = DriverManager.getConnection(url,user,password);
写mysql语句
PreparedStatement ps = con.prepareStatement("select * from student where id=?");
// select * from + 表名
// where id=? 表示:之后可通过学号找到相应的学生
获取处理对象
int id =22; // 预查询学生的学号
ps.setInt(1,id); // id 写入数据库语句中的 select 中
// 具体情况看下面总代码中应用
处理
ResultSet rs =ps.executeQuery();

if(rs.next()) {
stu= new Student();
stu.setId(rs.getInt("id"));
stu.setName(rs.getString("name"));
}
关闭资源
rs.close();
ps.close();
con.close();

具体实现

student类
public class Student {

private int id;
private String name;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Override
public String toString() {
    return "Student [id=" + id + ", name=" + name + "]";
}

}

Main类 实现类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Main {

public static void main(String[] args) {
    int id = 2; // 所要查询学生的学号
    try {
        // 加载JDBC驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        String url = "jdbc:mysql://localhost/student";
        // 建立数据库连接,这里的用户名和密码应该根据实际情况妥善处理,比如通过配置文件读取等方式,而不是直接写在代码中
        Connection con = DriverManager.getConnection(url, "root", "123456");

        // 使用try-with-resources语句来确保资源自动关闭
        try (PreparedStatement ps = con.prepareStatement("select * from student where id=?")) {
            ps.setInt(1, id); // 将 id 给 “where id=?” 这里

            try (ResultSet rs = ps.executeQuery()) {
                if (rs.next()) {
                    Student stu = new Student();
                    stu.setId(rs.getInt("id"));
                    stu.setName(rs.getString("name"));

                    System.out.println(stu.getId());
                    System.out.println(stu.getName());
                } else {
                    System.out.println("未找到学号为 " + id + " 的学生信息。");
                }
            }
        }

    } catch (ClassNotFoundException e) {
        // 加载驱动失败的错误处理,添加更友好的提示信息
        System.err.println("无法加载JDBC驱动,请检查相关依赖是否正确引入。");
        e.printStackTrace();
    } catch (SQLException e) {
        // 数据库操作相关错误处理,添加更友好的提示信息
        System.err.println("数据库操作出现错误,请检查数据库连接配置和SQL语句是否正确。");
        e.printStackTrace();
    }
}

}

posted on   刘晋宇  阅读(40)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示