文章目录

  • 一、JDBC基本介绍
    • 1.简单介绍
    • 2.准确介绍
  • 二、IDEA项目中导入Mysql驱动jar包
  • 三、使用java程序连接Mysql数据库进行增删改查操作
    • 1.创建Mysql数据库连接
    • 2.实现增加记录
    • 3.实现删除记录
    • 4.实现修改记录
    • 5.实现查询记录
    • 6.连接、增删改查合并的代码
  • 四、结束语

一、JDBC基本介绍

1.简单介绍

简单概述:简单来说,JDBC就是java语言用来连接数据库的一种技术,使用java程序来操作数据库,实现数据的存储和处理。

2.准确介绍

准确介绍:JDBC准确来说是java提供一组API(方法),声明在java.sql包与javax.sql包中,这些方法主要是接口,它更像是一种规范行为。然后由各个不同的数据厂商来对这些接口进行实现,而这些对接口实现的类就构成了各个不同数据库的驱动类,这些驱动类就构成了各个不同数据库的驱动jar包

二、IDEA项目中导入Mysql驱动jar包

1.准备Mysql驱动jar包
先给没有jar包的小伙伴分享链接Mysql驱动jar包8.0版本,提取码4ysr,也就2.2mb,超快的,下载之后将jar包存放在一个文件夹中,位置你自己定,待会IDEA中引入jar包你要记住位置。这里我放在了D:\Mysql驱动jar包位置

2.打开IDEA,进入你的IDEA项目,单击左上方File,点击Project Structure。

3.在弹出来的界面,先点击Libralies,然后点击java

4.在弹出来的页面,选择jar包存放的文件夹,不用精确到jar包位置,然后单击确定

5.在弹出来的页面,这里是让你选择将此jar包应用到哪些模块,由于我这里就只创建了一个MyDemo项目,所以只有一个选项,直接点击ok就行

6.在弹出来的页面,先单击Apply,然后点击确定。

7.直接如图所示吧,多了你引入的文件说明该项目导入jar包成功,接下来就可以进行愉快的java程序操作数据库了。

注意:如果按照我的步骤,最后第7步没有出现如图所示的文件,你可以重新使用我的步骤再来一遍,注意第6步一定要先点击Apply,一般都会成功的。

三、使用java程序连接Mysql数据库进行增删改查操作

1.创建Mysql数据库连接

直接给你们看代码了,你们要的注释我都放在代码里边了,超级详细的

import java.sql.*;public class Main {public static void main(String[] args) throws ClassNotFoundException, SQLException {/** * 第一步:连接Mysql数据库,只需要三行代码,实际上两行就行 * 1.Class.forName("com.mysql.cj.jdbc.Driver"); * 作用:加载Mysql驱动类在内存中,这行代码在连接Mysql数据库的时候可以不加,如果连接 *其他数据库需要加,因为Mysql特有的可以自动导入驱动类 * 2.String url = "jdbc:mysql://localhost:3306/mydb" />Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC";Connection con = DriverManager.getConnection(url,"root","password");//程序如果走到这里,你的Mysql数据库就链接成功了,如果连接失败,你就回头从新检查参数url或者用户名密码是否设置正确//此时连接的就是mydb数据库,然后可以对象mydb中的表格进行操作了System.out.println("数据库连接成功!");}}

2.实现增加记录

一样,注释都放在代码里,注意我的代码是一步一步给你们看的,最后会合并在一起

/** * 第二步:实现增加记录的操作 * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的executeUpdate()方法发送sql语句,同时数据库会返回一个结果,这个结果是影响的记录数 * 4.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() */ //1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了 String sql ="insert into item values(字段值1,字段值2...)"; //2.获取PreparedStatement对象 PreparedStatement ps = con.prepareStatement(sql);//参数将sql语句传入 //3.通过ps发送sql语句,同时获取返回值,影响的记录数 int len = ps.executeUpdate(); //4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了

3.实现删除记录

直接上代码,注释都在里边,这里和上面差不多,只是修改sql语句

/** * 第三步:实现删除记录的操作(基本上面类似,只是sql语句不一样而已) * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的executeUpdate()方法发送sql语句,同时数据库会返回一个结果,这个结果是影响的记录数 * 4.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() *///1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了sql ="这里面是删除的sql语句";//2.获取PreparedStatement对象ps = con.prepareStatement(sql);//参数将sql语句传入//3.通过ps发送sql语句,同时获取返回值,影响的记录数len = ps.executeUpdate();//4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了

4.实现修改记录

直接上代码,注释都在里边,这里和上面差不多,只是修改sql语句

/** * 第四步:实现修改记录的操作(基本上面类似,只是sql语句不一样而已) * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的executeUpdate()方法发送sql语句,同时数据库会返回一个结果,这个结果是影响的记录数 * 4.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() *///1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了sql ="这里面是修改的sql语句";//2.获取PreparedStatement对象ps = con.prepareStatement(sql);//参数将sql语句传入//3.通过ps发送sql语句,同时获取返回值,影响的记录数len = ps.executeUpdate();//4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了

5.实现查询记录

注意:查询记录的步骤和方法和上面有很大区别,且详细看看代码里的注释

/** * 第五步:实现查询记录的操作(和上面大不相同,详细看) * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的***executeQuery()方法***发送sql语句 *注意: *1)查询语句都是使用executeQuery()方法 *2)数据库返回来的是一个ResultSet对象,里边存放了你想要查询的数据 * 4.遍历返回来的ResultSet对象,打印数据,具体规则看代码注释 * 5.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() *///1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了sql ="这里面是查询的sql语句";//2.获取PreparedStatement对象ps = con.prepareStatement(sql);//参数将sql语句传入//3.通过ps发送sql语句,同时获取返回值,是一个数据的集合ResultSet set = ps.executeQuery();//4.遍历该集合//set.next() 该方法是判断是否还有下一行数据while(set.next()) {//一次读取一行数据//注意:这里的Object都可以替换为具体的数据类型,我为了演示才用的ObjectObject value1 = set.getObject(1);//数据中表的字段值序号,第1列Object value2 = set.getObject(2);//数据中表的字段值序号,第2列Object value3 = set.getObject(3);//数据中表的字段值序号,第3列//将获取到的一行的不同字段值依次打印出来看看System.out.println(value1 + "\t" + value2 + "\t" + value3);}//4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了con.close();//关闭连接ps.close();//关闭PreparedStatement对象

6.连接、增删改查合并的代码

import java.sql.*;public class Main {public static void main(String[] args) throws ClassNotFoundException, SQLException {/** * 第一步:连接Mysql数据库,只需要三行代码,实际上两行就行 * 1.Class.forName("com.mysql.cj.jdbc.Driver"); * 作用:加载Mysql驱动类在内存中,这行代码在连接Mysql数据库的时候可以不加,如果连接 *其他数据库需要加,因为Mysql特有的可以自动导入驱动类 * 2.String url = "jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC"; * 说明: *1)连接Mysql数据库你需要提供以下信息: * a.提供mysql服务端所在的主机ip地址或者主机名 * b.提供Mysql服务端的端口号 * c.提供Mysql服务端的用户名 * d.提供Mysql服务端的密码 * e.提供你需要操作的数据库名称 * 2)对url字段串解释: * jdbc:是主协议、mysql:是子协议 * localhost表示连接本机的mysql数据库、3306是端口号、mydb是Mysql里的一个数据库名称 * ?serverTimezone=UTC 表示设置时区为标准国际时区,不设置会出异常导致连接补上,这一行照抄就行 * 3.Connection con = DriverManager.getConnection(url,"root","password"); * 说明: * 1)DriverManager 是驱动管理类,是java.sql包下的类 * 2)getConnection 是获取一个数据库连接的方法 *url: 第一个参数,跟着写就行 *"root":Mysql数据库的用户名,用你自己的 *"password":Mysql数据库密码,用你自己的 * 返回一个连接对象 * 注意:使用以上类和方法需要导入java.sql包,因为JDBC技术的接口包都在其中,以下方法都有异常抛出, *我们直接给扔给main方法就行。 */Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC";Connection con = DriverManager.getConnection(url,"root","password");//程序如果走到这里,你的Mysql数据库就链接成功了,如果连接失败,你就回头从新检查参数url或者用户名密码是否设置正确System.out.println("数据库连接成功!");/** * 第二步:实现增加记录的操作 * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的executeUpdate()方法发送sql语句,同时数据库会返回一个结果,这个结果是影响的记录数 * 4.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() */ //1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了 String sql ="insert into item values(字段值1,字段值2...)"; //2.获取PreparedStatement对象 PreparedStatement ps = con.prepareStatement(sql);//参数将sql语句传入 //3.通过ps发送sql语句,同时获取返回值,影响的记录数 int len = ps.executeUpdate(); //4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了/** * 第三步:实现删除记录的操作(基本上面类似,只是sql语句不一样而已) * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的executeUpdate()方法发送sql语句,同时数据库会返回一个结果,这个结果是影响的记录数 * 4.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() *///1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了sql ="这里面是删除的sql语句";//2.获取PreparedStatement对象ps = con.prepareStatement(sql);//参数将sql语句传入//3.通过ps发送sql语句,同时获取返回值,影响的记录数len = ps.executeUpdate();//4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了/** * 第四步:实现修改记录的操作(基本上面类似,只是sql语句不一样而已) * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的executeUpdate()方法发送sql语句,同时数据库会返回一个结果,这个结果是影响的记录数 * 4.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() *///1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了sql ="这里面是修改的sql语句";//2.获取PreparedStatement对象ps = con.prepareStatement(sql);//参数将sql语句传入//3.通过ps发送sql语句,同时获取返回值,影响的记录数len = ps.executeUpdate();//4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了/** * 第五步:实现查询记录的操作(和上面大不相同,详细看) * 步骤为: * 1.编写增加记录的sql语句 * 2.通过con将sql语句传入一个PreparedStatement对象,同时将这个对象返回 * 3.通过返回的PreparedStatement对象的***executeQuery()方法***发送sql语句 *注意: *1)查询语句都是使用executeQuery()方法 *2)数据库返回来的是一个ResultSet对象,里边存放了你想要查询的数据 * 4.遍历返回来的ResultSet对象,打印数据,具体规则看代码注释 * 5.如果不继续使用con连接了和PreparedStatement对象了就释放资源 * 注意:除了查询,其他方法一律都使用executeUpdate() *///1.编写sql语句:sql字段串里面是具体的sql语句,这里我就不多说了sql ="这里面是查询的sql语句";//2.获取PreparedStatement对象ps = con.prepareStatement(sql);//参数将sql语句传入//3.通过ps发送sql语句,同时获取返回值,是一个数据的集合ResultSet set = ps.executeQuery();//4.遍历该集合//set.next() 该方法是判断是否还有下一行数据while(set.next()) {//一次读取一行数据//注意:这里的Object都可以替换为具体的数据类型,我为了演示才用的ObjectObject value1 = set.getObject(1);//数据中表的字段值序号,第1列Object value2 = set.getObject(2);//数据中表的字段值序号,第2列Object value3 = set.getObject(3);//数据中表的字段值序号,第3列//将获取到的一行的不同字段值依次打印出来看看System.out.println(value1 + "\t" + value2 + "\t" + value3);}//4.如果你不继续操作了就关闭,都是close()方法,我还要继续删除、修改、查询操作就不关闭了con.close();//关闭连接ps.close();//关闭PreparedStatement对象}}

四、结束语

相信看到这里大家对JDBC技术已经有了一定的了解啦,感谢大家的观看与支持,码文不易,一键三连多多支持,谢谢!!!