使用场景:测试家族族长分成时需要批量添加家族流水记录,但手动添加和SQL语句添加较为麻烦

操作步骤

运行环境:Java8+IDEA

1.打开IDEA

点击File—>New—>Project—>Package—>Java Class,文件目录如下:

Add--增加        Delete--删除

Find--查询        Revise--更改

2.下载Java连接MySQL驱动

下载网址:http://www.manong5.com/104575704/

下载好将包和之前的文件放在同一目录即可

3.编写代码

代码如下:

Add--增加 

package Data;

import java.sql.*;
import java.util.Scanner;

public class Add {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入id:");
int id = in.nextInt();
System.out.println("请输入uid:");
int uid= in.nextInt();
System.out.println("请输入family_id:");
int family_id = in.nextInt();
System.out.println("请输入room_uid:");
int room_uid = in.nextInt();
System.out.println("请输入gift_record_id:");
int gift_record_id = in.nextInt();
System.out.println("请输入charm_value:");
int charm_value = in.nextInt();
System.out.println("请输入type:");
int type = in.nextInt();
System.out.println("请输入create_time:");
String create_time = in.next();
try {
Class.forName(Driver.class.getName());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
//建立连接
try {
Connection con;
String url = "jdbc:mysql://host:port/dbname";
String user = "root";
String password = "password";
con = DriverManager.getConnection(url, user, password);
String sql = "INSERT INTO family_charm_record (id,uid,family_id,room_uid,gift_record_id,charm_value,type,create_time) values(?,?,?,?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, id);
ps.setInt(2, uid);
ps.setInt(3, family_id);
ps.setInt(4, room_uid);
ps.setInt(5, gift_record_id);
ps.setInt(6, charm_value);
ps.setInt(7, type);
ps.setString(8, create_time);
int num = ps.executeUpdate();
System.out.println(num);
ps.close();
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
BatchAdd--批量增加 
package Data;

import java.sql.*;
//import java.util.Scanner;

public class BatchAdd {
public static void main(String[] args) {
/*
Scanner in = new Scanner(System.in);
System.out.println("请输入id:");
int id = in.nextInt();
System.out.println("请输入uid:");
int uid = in.nextInt();
System.out.println("请输入family_id:");
int family_id = in.nextInt();
System.out.println("请输入room_uid:");
int room_uid = in.nextInt();
System.out.println("请输入gift_record_id:");
int gift_record_id = in.nextInt();
System.out.println("请输入charm_value:");
int charm_value = in.nextInt();
System.out.println("请输入type:");
int type = in.nextInt();
System.out.println("请输入create_time:");
String create_time = in.next();
*/
try {
Class.forName(Driver.class.getName());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
//建立连接
try {
Connection con;
String url = "jdbc:mysql://host:port/dbname";
String user = "root";
String password = "password";
con = DriverManager.getConnection(url, user, password);
String sql = "INSERT INTO family_charm_record (id,uid,family_id,room_uid,gift_record_id,charm_value,type,create_time) values(?,?,?,?,?,?,?,?)";
//PreparedStatement ps = con.prepareStatement(sql);
int i = 1;
while (i < 5) {
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, 983 + i);
ps.setInt(2, 161004534);
ps.setInt(3, 91);
ps.setInt(4, 62480729);
ps.setInt(5, 230121);
ps.setInt(6, 1000);
ps.setInt(7, 2);
ps.setString(8, "2019-07-19 00:00:00");
i++;
int num = ps.executeUpdate();
System.out.println(num);
ps.close();
}
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Delete--删除

package Data;

import java.sql.*;

public class Delete {
public static void main(String[] args) {
try {
Class.forName(Driver.class.getName());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
String url = "jdbc:mysql://host:port/dbname";
String user = "root";
String password = "password";
try {
Connection con = DriverManager.getConnection(url, user, password);
String sql = "delete from family_charm_record where id in (985,986)";
PreparedStatement ps = con.prepareStatement(sql);
int num = ps.executeUpdate();
System.out.println(num);
ps.close();
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Find--查询

package Data;

import java.sql.*;

public class Find {
public static void main(String[] args) {
try {
Class.forName(Driver.class.getName());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
String url = "jdbc:mysql://host:port/dbname";
String user = "root";
String password = "password";
Connection con = DriverManager.getConnection(url, user, password);
String sql = "SELECT a.phone,n.noble_name FROM account a,noble_users n WHERE a.uid=n.uid;";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
/*
int id = rs.getInt(1);
String name = rs.getString(2);
String sex = rs.getString(3);
int age = rs.getInt(4);
String address = rs.getString(5);
System.out.printf("%4s %4s %4s %4s %4s\n",id,name,sex,age,address);
*/
String phone=rs.getString(1);
String noble_name=rs.getString(2);
System.out.printf("%4s %4s\n",phone,noble_name);
}
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Revise--更改

public class Revise {
public static void main(String[] args) {
try {
Class.forName(Driver.class.getName());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
String url = "jdbc:mysql://host:port/dbname";
String user = "root";
String password = "password";

try {
Connection con = DriverManager.getConnection(url, user, password);
String sql = "update family_charm_record set uid=?,family_id=?,room_uid=?,gift_record_id=?,charm_value=?,type=?,create_time=? where id=984";
PreparedStatement ps = con.prepareStatement(sql);
/*
ps.setString(1, "小林子");
ps.setString(2, "女");
ps.setInt(3, 21);
ps.setString(4, "海南");
ps.setInt(5, 7);
*/
ps.setInt(1, 161004535);
ps.setInt(2, 91);
ps.setInt(3, 62480728);
ps.setInt(4, 231089);
ps.setInt(5, 2000);
ps.setInt(6, 2);
ps.setString(7, "2019-07-19 17:00:30");
int num = ps.executeUpdate();
System.out.println(num);
ps.close();
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

注:使用时注意将host:port/dbname,password需要修改为自己项目的数据库连接

4.使用总结

使用循环批量增加数据时需要注意数据表的主键唯一性,不要和已有的发生冲突

JDBC-增删查改操作的更多相关文章

  1. 在Eclipse上实现简单的JDBC增删查改操作

    在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图  编写Product类 public clas ...

  2. 利用dbutils工具实现数据的增删查改操作(dbutis入门)

    一.前期准备 1.安装数据库(如:mysql5.5) 2.安装Eclipse(如:3.4) 3.下载数据库驱动包 4.下载dbutis工具包 5.在Eclipse创建名为 dbutils 的工程并在工 ...

  3. Mybatis基础配置及增删查改操作

    一.简介 平时我们都用JDBC访问数据库,除了需要自己写SQL之外,还必须操作Connection, Statement, ResultSet 这些其实只是手段的辅助类. 不仅如此,访问不同的表,还会 ...

  4. Java连接MySQL数据库及简单的增删查改操作

    主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...

  5. PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)

    php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...

  6. myBatis 实现用户表增删查改操作<方法1 没有使用接口的>(最终版)

    在UserMapper.xml中添加增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  7. SSM框架-MyBatis框架数据库的增删查改操作

    话不多说,在User.xml文件中主要写一下操作数据库的sql语句,增,删,查,改是最常见的数据库操作 User.xml文件下:

  8. java操作ElasticSearch(es)进行增删查改操作

    有时间是要了解一下ES这个东西的~ ---------------------------------------------------------------------------------- ...

  9. myBatis 实现用户表增删查改操作<方法2 加入接口>(最终版)

    这2种方法的区别:1.添加接口 2.运用接口来实现 其他的都一样 添加接口 //接口的名字和xml的名字一样,这样xml中的namespace就不用改 public interface UserMap ...

  10. JDBC增删查改(使用配置文件)

    JDBCDemo2.java package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.ResultSet; impo ...

随机推荐

  1. biancheng-Spring Cloud Alibaba Nacos

    参考http://c.biancheng.net/springcloud/what-is-alibaba.html http://c.biancheng.net/springcloud/nacos.h ...

  2. 芯片半导体基础(二) :20世纪最伟大的发明,PN结与晶体二极管

    liwen01 2025.01.12 前言 PN结 是晶体管的基础,它使得晶体管能够作为一个放大或是开关元器件.晶体管的发明不仅是一个技术上的突破,也标志着电子学的一个新时代.它极大地推动了科技和社会 ...

  3. 什么是 SNI?

    参考: 链接1   链接2 介绍 是什么:SNI(Server Name Indication)是 TLS 的扩展,这允许在握手过程开始时通过客户端告诉它正在连接的服务器的主机名称. 作用:用来解决一 ...

  4. 回顾我的软件开发经历:开发DAB

    背景介绍 DAB(Device Automation Bus)是一种基于 MQTT 通信的轻量级协议,主要用于连接客厅中的消费电子产品(如智能电视和游戏机),并实现自动化测试.由于设备认证需要支持 D ...

  5. AI编程:如何编写提示词

    这是小卷对AI编程工具学习的第2篇文章,今天讲讲如何编写AI编程的提示词,并结合实际功能需求案例来进行开发 1.编写提示词的技巧 好的提示词应该是:目标清晰明确,具有针对性,能引导模型理解问题 下面是 ...

  6. 表治理-Iceberg小文件合并测试

    总结 指标 合并前 合并后(因测试中多次合并,数据会偏多) 查询速度 246秒 13秒 表总大小 9.2G 26.4G 单个文件大小 1-25MB 60MB左右 metadata目录文件数 37 75 ...

  7. deepseek-v3 论文阅读

    模型结构 MLA(Multi-Head Latent Attention) 主要作用是在保证效果的基础上, 利用低秩压缩的原理优化kvCache, 加速推理, 同时节省训练显存. 先回忆下MHA, 在 ...

  8. kubesphere应用系列(一)部署NET8API

    一.准备工作 1.kubesphere 2.harbor 3.net8 二.创建API应用 1.创建api应用 1.1使用命令创建应用 dotnet new webapi -n YourApiAppN ...

  9. KUKA库卡机器人常见故障都有哪些解决办法

    如何解决机器人线路板维修查不出故障 在进行机器人电路板维修工作时,有时会遇到查不出故障原因的情况,对于这种故障维修业界称之为疑难杂症,这时维修人员该如何应对呢?在这里向朋友们介绍机器人维修一些解决的方 ...

  10. 当向json数组追加节点时,再去修改它,发现所有的该节点的数据都被修改了

    当向一个json数组追加的节点被修改时,所有对象的的节点都被修改了 众所周知,追加json节点时,我们通常会直接给不存在的节点赋值 比如这样: let json = [ { id:'1' }, { i ...