JDBC实现简单的增删改查

Posted black-mcy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC实现简单的增删改查相关的知识,希望对你有一定的参考价值。

 JDBC的开发步骤
* a: 步骤介绍
1.注册驱动
告知JVM使用的是哪一个数据库的驱动
2.获得连接
使用JDBC中的类,完成对mysql数据库的连接
3.获得语句执行平台
通过连接对象获取对SQL语句的执行者对象
4.执行sql语句
使用执行者对象,向数据库执行SQL语句
获取到数据库的执行后的结果
5.处理结果
6.释放资源 一堆close()

一.准备工作

1.数据库的安装与配置(省略了)

2.导入mysql数据库驱动程序jar包

a.创建lib目录,用于存放当前项目需要的所有jar包

技术分享图片

b. 选择jar包,右键执行build path / Add to Build Path

  将要导入的jar包复制到lib文件夹下,然后右键选择build path---->add to build path

  如果出现如下所示的文件即导入成功了。

技术分享图片

3.导入一些需要的包

技术分享图片

二.实现增删改查

1.数据准备:创建数据库和表结构

以下是在数据库中操作的

//创建数据库
create database mybase;
//创建分类表
CREATE TABLE sort(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(100),
sprice DOUBLE,
sdesc VARCHAR(500)
);
//初始化数据
insert into sort(sname,sprice,sdesc) values(‘家电‘,2000, ‘优惠的促销‘);
insert into sort(sname,sprice,sdesc) values(‘家具‘,8900, ‘家具价格上调,原材料涨价‘);
insert into sort(sname,sprice,sdesc) values(‘儿童玩具‘,290, ‘赚家长的钱‘);
insert into sort(sname,sprice,sdesc) values(‘生鲜‘,500.99, ‘生鲜商品‘);
insert into sort(sname,sprice,sdesc) values(‘服装‘,24000, ‘换季销售‘);
insert into sort(sname,sprice,sdesc) values(‘洗涤‘,50, ‘洗发水促销‘);

通过查询语句SELECT * FROM sort;  可以看到数据插入成功了

技术分享图片

 

2.insert

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//注册驱动
        String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
        String username = "root"; //登陆数据库的用户名和密码
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES(?,?,?)";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setString(1, "汽车用品");
        pst.setInt(2, 50000);
        pst.setString(3, "疯狂涨价");
        int row = pst.executeUpdate();
        System.out.println(row);  //打印结果为1,表示插入成功了

      con.close();
      pst.close();

      
    }
}

在数据库中可以看到插入成功了

技术分享图片

3.update

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//注册驱动
        String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
        String username = "root"; //登陆数据库的用户名和密码
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "UPDATE sort SET sname=?,sprice=? WHERE sid=?";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setString(1, "汽车美容");
        pst.setInt(2, 49888);
        pst.setInt(3, 7);
        int row = pst.executeUpdate();
        System.out.println(row);        
        con.close();
        pst.close();
    }
}

数据库中结果已经更新

技术分享图片

 

 4.delete

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//注册驱动
        String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
        String username = "root"; //登陆数据库的用户名和密码
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "DELETE FROM sort WHERE sid =?";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setInt(1, 7);

        int row = pst.executeUpdate();
        System.out.println(row);        
        con.close();
        pst.close();
    }
}

数据库中可以看到sid=7的已经被删除了

技术分享图片

5.select

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//注册驱动
        String url  = "jdbc:mysql://localhost:3306/mybase";//获得数据库连接
        String username = "root"; //登陆数据库的用户名和密码
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "SELECT * FROM sort WHERE sname=? AND sprice=?";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setString(1,"家电");
        pst.setInt(2,2000);
        
        ResultSet rs = pst.executeQuery();
        int col = rs.getMetaData().getColumnCount();
        while(rs.next()){
            for(int i=1;i<=col;i++){
                System.out.println(rs.getString(i));
            }
        }
    
        con.close();
        pst.close();
    }
}

输出结果为:

技术分享图片

可以看到与数据库中的一致

技术分享图片

 















以上是关于JDBC实现简单的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

JDBC实现简单的增删改查

eclipse控制台下实现jdbc简单的增删改查测试

通过JDBC进行简单的增删改查(以MySQL为例)

JDBC实现Mysqual的增删改查

Java通过JDBC进行简单的增删改查(以MySQL为例)

通过JDBC进行简单的增删改查(以MySQL为例)