Java用jdbc连接实现对MySQL增删改查操作

117 篇文章 0 订阅
110 篇文章 1 订阅

目录

前言

1.新建项目

2.添加jar包

3.jdbc的连接

4、简单的MySQL增删改查操作


前言

大家好,我是。个人主页:的博客

本文用的Idea演示主要讲了如何用idea完成jdbc连接,Java实现MySQL简单增删改查操作。

走过路过的小伙伴们点个赞和关注再走吧,欢迎评论区交流,努力什么时候开始都不算晚,那不如就从这篇文章开始!

大家一起成长呀!笔芯

d43bb622c0504ef88fe8a3c597263ceb.png


**1.**新建项目

新建一个项目,fileànewàproject如下图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

选择Javaà下一步,如下图:(注意如果jdk推荐使用jdk1.8版本哦,如果不是可以在project SDK中更换,Add JDK,找到自己电脑上放JDK1.8的地方,没有的话自行下载哦)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

继续下一步

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

创建项目名字(自己起就行,注意项目名不要大写),找一个存放的地址,也自己决定就行。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

**2.**添加jar包

一般默认位置是在如下位置:C:Program Files (x86)MySQLConnector J 8.0

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

Fileàproject Structureàmodulesàdepencenlesà加号添加jar包

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_10,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

2a9f4cbb77b94d7bbb4dd7245ee23f1c.png

找到c盘下C:Program Files (x86)MySQLConnector J 8.0的位置

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_11,color_FFFFFF,t_70,g_se,x_16

选中后OK。完成

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_8,color_FFFFFF,t_70,g_se,x_16

添加jar包成功

3.jdbc****的连接

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

再在包中新建一个Java文件如下

09c967d20cf44b72b2dc36af30b5ecf4.png

实现JDBC连接然后我的代码和结果截图如下:

package?com.wang.dao;

import?java.sql.*;
//用Java实现MySQL的增删改查操作
public?class?Test1Demo?{
????public?static?void?main(String[]args){
????????String?url="jdbc:mysql://localhost:3306/ishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";//mysql8的连接字符串,多了时区比之前的5
????????String?name="root";
????????String?password="root";
????????String?sql="SELECT?*from?tbl_commoditytype";
????????//1.加载驱动
????????try?{
????????????Class.forName("com.mysql.cj.jdbc.Driver");//在有错误提示的时候光标移到错误处,alt+enter,
????????????try?{
????????????????//2.创建连接
????????????????Connection??connection=?DriverManager.getConnection(url,name,password);
????????????????//3.创建命令窗口
????????????????Statement?statement?=?connection.createStatement();
????????????????//4.执行命令窗口里的语句
????????????????ResultSet?resultSet?=?statement.executeQuery(sql);
????????????????//5.处理返回的结果集
????????????????while?(resultSet.next()){
????????????????????//打印行的每一列
??????????????????System.out.println(resultSet.getInt(1)+"	"+resultSet.getString(2));
????????????????}
????????????????//6.关闭资源
????????????????resultSet.close();
????????????????statement.close();
????????????????connection.close();
????????????}?catch?(SQLException?e)?{
????????????????e.printStackTrace();
????????????}
????????}?catch?(ClassNotFoundException?e)?{
????????????e.printStackTrace();
????????}
????}
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_13,color_FFFFFF,t_70,g_se,x_16

要注意以下位置数据库和SQL语句是否存在自己的MySQL中,以及是否匹配。还有用户名和密码是否是自己的。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_17,color_FFFFFF,t_70,g_se,x_16

4、简单的MySQL增删改查操作

实现MySQL增删改操作如下:(仔细看注释掉的东西,这三个操作是换了在注释里的部分代码运行了三次啊)

package com.wang.demo;



import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;



public class Test01 {

??? public static void main(String[] args) {//psvm回车可以直接敲出来哦

??????? //1.加载驱动

??????? try {

??????????? Class.forName("com.mysql.cj.jdbc.Driver");

??????? } catch (ClassNotFoundException e) {

??????????? e.printStackTrace();

??????? }

??????? //2.获取链接,驱动管理器

??????? String url="jdbc:mysql://localhost:3306/ishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";

??????? String user="root";

??????? String password="root";



??????? Connection connection = null;

??????? try {

??????????? connection = DriverManager.getConnection(url, user, password);

??????? } catch (SQLException e) {

??????????? e.printStackTrace();

??????? }

??????? //3.获取命令

??????? Statement statement = null;

??????? try {

??????????? statement = connection.createStatement();

??????? } catch (SQLException e) {

??????????? e.printStackTrace();

??????? }

?????? // String sql="insert into tbl_commoditytype (id,name) values (6,'AA')"; //这个地方我后来发现我的数据库表中id忘记设置自增长,就直接在这里直接写上了id的值。之后增删改操作依次执行可查看表得三个结果图

??????? //String sql="update tbl_commoditytype set name ='bb' where id=6";

??????? String sql="delete from tbl_commoditytype where id=6";

??????? int i = 0;

??????? //executeUpdate是做增删改的

???? ???//4.得到结果集并处理 

??????? try {

??????????? i = statement.executeUpdate(sql);

??????? } catch (SQLException e) {

??????????? e.printStackTrace();

??????? }

??????? System.out.println(i);//sout回车可快速创建System.out.println()哦

?????? 

??????? //5.关闭资源

??????? //用到的connection(连接),statement(命令窗口),两个接口,resultSet一个实现类(结果集)



??????? try {

??????????? statement.close();

??????? } catch (SQLException e) {

??????????? e.printStackTrace();

??????? }

??????? try {

??????????? connection.close();

??????? } catch (SQLException e) {

??????????? e.printStackTrace();

??????? }

??? }



}

aa838171f1da42ebb2e6a8a6d0e2badc.png7c453aaf70314ebe8deb41df1fd62322.png61f427436acd4a568d166723a6e5ac90.png

实现简单的查询操作

先把增删改操作的代码都复制粘贴过来(程序员怎么能不会复制粘贴嘿嘿),再把增删改变成查询语句String sql=”select*from tbl_commoditytype”;对应的executeUpdate();换为了executQuery()。具体如下

package com.wang.demo;

import java.sql.*;

/**
?* 斜杠双星回车即可得这种注释
?* 使用Statement进行查询操作
?*/
public class Test02 {
??? public static void main(String[] args) {
??????? //1.加载驱动
??????? try {
??????????? Class.forName("com.mysql.cj.jdbc.Driver");
??????? } catch (ClassNotFoundException e) {
??????????? e.printStackTrace();
??????? }
??????? //2.获取链接,驱动管理器
??????? String url="jdbc:mysql://localhost:3306/ishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
??????? String user="root";
??????? String password="root";

??????? Connection connection = null;
??????? try {
??????????? connection = DriverManager.getConnection(url, user, password);
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? //3.获取命令
??????? Statement statement = null;
????? ??try {
??????????? statement = connection.createStatement();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? // String sql="insert into tbl_commoditytype (id,name) values (6,'AA')";
??????? //String sql="update tbl_commoditytype set name ='bb' where id=6";
??????? //String sql="delete from tbl_commoditytype where id=6";
??????? String sql="select *from tbl_commoditytype";
??????? ResultSet resultSet=null;
??????? //executeUpdate是做增删改的
??????? // 4.得到结果集并处理
??????? try {
??????????? resultSet = statement.executeQuery(sql);
??????????? //处理结果集,两种方法,if(一条记录)/while(不确定或者多条数据)
??????????? while(resultSet.next()){
?????????????? String o= resultSet.getInt(1)+"	"+resultSet.getString(2);
??????????????? //因为我的表第一列是int,第二列是string。也可以把2换成name,也就是把索引(columnindex)换成列名(columnlabel}
??????????????? System.out.println(o);
??????????? }
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? //sout回车可快速创建System.out.println()哦

??????? //5.关闭资源
??????? //用到的connection(连接),statement(命令窗口),两个接口,resultSet一个实现类(结果集)

??????? try {
??????????? statement.close();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? try {
??????????? connection.close();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??? }
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAaWNl5LiJ5YiG6aKc6Imy,size_13,color_FFFFFF,t_70,g_se,x_16

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值