JDBC-增删查改操作
使用场景:测试家族族长分成时需要批量添加家族流水记录,但手动添加和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-增删查改操作的更多相关文章
- 在Eclipse上实现简单的JDBC增删查改操作
在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图 编写Product类 public clas ...
- 利用dbutils工具实现数据的增删查改操作(dbutis入门)
一.前期准备 1.安装数据库(如:mysql5.5) 2.安装Eclipse(如:3.4) 3.下载数据库驱动包 4.下载dbutis工具包 5.在Eclipse创建名为 dbutils 的工程并在工 ...
- Mybatis基础配置及增删查改操作
一.简介 平时我们都用JDBC访问数据库,除了需要自己写SQL之外,还必须操作Connection, Statement, ResultSet 这些其实只是手段的辅助类. 不仅如此,访问不同的表,还会 ...
- Java连接MySQL数据库及简单的增删查改操作
主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...
- PHP与MYSQL结合操作——文章发布系统小项目(实现基本增删查改操作)
php和mysql在一起几十年了,也是一对老夫老妻了,最近正在对他们的爱情故事进行探讨,并做了一个很简单的小东西——文章发布系统,目的是为了实现mysql对文章的基本增删查改操作 前台展示系统有:文章 ...
- myBatis 实现用户表增删查改操作<方法1 没有使用接口的>(最终版)
在UserMapper.xml中添加增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...
- SSM框架-MyBatis框架数据库的增删查改操作
话不多说,在User.xml文件中主要写一下操作数据库的sql语句,增,删,查,改是最常见的数据库操作 User.xml文件下:
- java操作ElasticSearch(es)进行增删查改操作
有时间是要了解一下ES这个东西的~ ---------------------------------------------------------------------------------- ...
- myBatis 实现用户表增删查改操作<方法2 加入接口>(最终版)
这2种方法的区别:1.添加接口 2.运用接口来实现 其他的都一样 添加接口 //接口的名字和xml的名字一样,这样xml中的namespace就不用改 public interface UserMap ...
- JDBC增删查改(使用配置文件)
JDBCDemo2.java package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.ResultSet; impo ...
随机推荐
- w3cschool-Go 教程
https://www.w3cschool.cn/go/ Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pi ...
- 【java提高】---细则(2)
TreeSet(一) 一.TreeSet定义: 与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的. 1)TreeSet类概述 ...
- 接口的应用:代理模式(Proxy)
应用场景: 安全代理:屏蔽对真实角色的直接访问. 远程代理:通过代理类处理远程方法调用(RMI) 延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象比如你要开发一个大文档查看软件,大文档中 ...
- 异常try-catch-finally与存储和JSON.parse
捕获异常 捕获异常:处理可能出现的异常,当发生错误后,我们对它进行处理,不让程序崩溃. 异常处理 try-catch-finally try{ // 可能出现异常的:代码1 }catch(err){ ...
- (vm/vb)虚拟机复制或者拷贝之后连不上网络怎么处理?
(vm/vb)虚拟机复制或者拷贝之后连不上网络怎么处理? Linux虚拟机无论在VMware还是VirtualBox下面,只要复制拷贝到别的地方,开启网络服务都会出现报错的问题. 这里以CentOS ...
- 云数据库与Web网站:构建高效、可扩展的网络应用
本文分享自天翼云开发者社区<云数据库与Web网站:构建高效.可扩展的网络应用>,作者:3****m 一.云数据库与Web网站的关系 云数据库与Web网站之间存在着密切的关系.Web网站需要 ...
- Handbook of Enumerative Combinatorics 阅读
Chapter 1 代数几何方法 Part1 代数方法 1.3 生成函数 符号化方法和拉格朗日反演 拆分数的生成函数和五边形数定理.斐波那契的拆分数 平面二叉树(Plane Binary Tree). ...
- ClickHouse 常用语句
一.常用操作 1.建数据库 连接数据库:clickhouse-client -h 10.0.0.0 --port 9000 -u test_user --password test_password ...
- RabbitMQ(三)——简单模式
RabbitMQ系列 RabbitMQ(一)--简介 RabbitMQ(二)--模式类型 RabbitMQ(三)--简单模式 RabbitMQ(四)--工作队列模式 RabbitMQ(五)--发布订阅 ...
- 最新demo版|如何0-1开发支付宝小程序之如何调试小程序(二)
上一篇跟大家详细的讲了下开发支付宝小程序前所需要做准备事项,安装了支付宝小程序的开发工具.那么今天就来详细聊一下在小程序开发工具中,我们需要如何调试小程序. 支付宝小程序的调试分为三种,分别是「模拟器 ...