java数据库(MySQL)之增删改查
1.查询数据
先救从简单的来吧,之前我们实现了将数据库表格信息读取到一个List集合中,数据库的查询,实
际上就是对这个集合的查询;
public class Show {
public static void main(String[] args) {
//获取之前的数据集合
List<User> list = Do.userlist();
//foreach遍历这个集合
for (User user : list) {
//查询条件,查找user为tom的用户名和密码
if(user.user.equals("tom")) {
//这里要用equals()方法,不能用==,切记
System.out.println("用户名:"+user.user+";密码:"+user.password);
}
}
}
}
控制台打印如下:
用户名:tom;密码:243523563
其实我们也可以将这个方法封装起来,并传入一个字符串参数,从而实现对用户信息的输出,在这里不做深究。
2.增加数据
在实现这个功能之前我们要事先了解一下,SQL语句是如何实现数据的添加的;
先来看一下表有哪些数据项

我们可以看到,这个表中有4个属性,由于设置的时候,设置成了必填,所以,添加的时候也得全填
SQL语句:
INSERT INTO table1(id,user,password,age) VALUES ('5','cindy','35675467','23') ;
public class Insert {
// 利用含参构造器新建一个User对象,传入数据
static User newuser = new User(5, "cindy", "123452", 23);
// 定义含参方法将这个数据(对象)添加到表格中
public static void add(User newuser) {
try {
// 获取数据库的连接
Connection conn = MySQL.getconnect();
// 设置SQL规则,数据由于还不知道先用?代替
String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";
// 预处理sql语句
PreparedStatement presta = conn.prepareStatement(sql);
// 设置sql语句中的values值
presta.setInt(1, newuser.id);
presta.setString(2, newuser.user);
presta.setString(3, newuser.password);
presta.setInt(4, newuser.age);
// 执行SQL语句,实现数据添加
presta.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 执行add(newuser)方法
add(newuser);
}
}
我们看看结果:

添加成功,Bingo!
3.删除数据
其实增删改查,实际上就是对sql语句的运用,这里的删除也不例外
public static void delete(Integer id) {
try {
// 获取数据库的连接
Connection conn = MySQL.getconnect();
// 设置SQL规则,数据由于还不知道先用?代替
//String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";
//String sql = "Update table1 set user=?,password=?,age=? where id=?";
String sql = "delete from table1 where id=?";
// 预处理sql语句
PreparedStatement presta = conn.prepareStatement(sql);
// 设置sql语句中的values值
presta.setInt(1,id);
// 执行SQL语句,实现数据添加
presta.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 执行add(newuser)方法
delete(2);
}
delete()方法传入了一个参数id,用于删除指定id的数据,如下:

id为2的信息被删除了,beautiful!
4.更新数据
public class Insert {
// 利用含参构造器新建一个User对象,传入数据
static User newuser = new User(5, "Cindy", "1234567890", 23);
// 定义含参方法将这个数据(对象)添加到表格中
public static void update(User newuser) {
try {
// 获取数据库的连接
Connection conn = MySQL.getconnect();
// 设置SQL规则,数据由于还不知道先用?代替
//String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";
String sql = "Update table1 set user=?,password=?,age=? where id=?";
// 预处理sql语句
PreparedStatement presta = conn.prepareStatement(sql);
// 设置sql语句中的values值
presta.setString(1, newuser.user);
presta.setString(2, newuser.password);
presta.setInt(3, newuser.age);
presta.setInt(4, newuser.id);
// 执行SQL语句,实现数据添加
presta.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 执行add(newuser)方法
update(newuser);
}
}
这里是根据ID号来更新信息,结果如下

姓名、密码被成功更改,nice!
java数据库(MySQL)之增删改查的更多相关文章
- java对mysql的增删改查
-----连接数据库 package connectdb;import java.sql.*;class Dbcon { // 此处连接数据库,独立开一个类,以后操作数据库的每次连接就不用写这么多 p ...
- java连接mysql以及增删改查操作
java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...
- java操作mysql的增删改查
prepareStatement(sql)是statement的子类,比statement好用. 如果数据库中定义的是int值,那么sql语句中要把int单独提出来.如".....value ...
- JDBC之Java连接mysql实现增删改查
使用软件:mysql.eclipse 链接步骤: 1.注册驱动 2.创建一个连接对象 3.写sql语句 4.执行sql语句并返回一个结果或者结果集 5.关闭链接(一般就是connection.stat ...
- Java 数据库操作oracle增删改查,通用封装基于hashmap
pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A 密码:epkz 1.将ojdbc6.jar导入项目中 ...
- Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)
1. Android的四大组件: (1)Activity 用户交互的UI界面 (2)Service 后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...
- Vc数据库编程基础MySql数据库的表增删改查数据
Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...
- Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)
1. Android的四大组件: (1)Activity 用户交互的UI界面 (2)Service 后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- Java实现mongodb原生增删改查语句
Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...
随机推荐
- Android 有关于* daemon not running.starting it now on port 5037 *ADB
adb shell时出现以下信息: * daemon not running. starting it now on port5037 * ADB server didn't ACK * fail ...
- Cocos2D:塔防游戏制作之旅(四)
让我们看一下项目的结构.在TowerDefense文件夹,你将找到: 含有Cocos2D文件的libs文件夹 含有所有图片和声音的资源文件夹 现在,你已经准备就绪准备开始建造炮台之旅了 ;) 放置炮塔 ...
- ACM竞赛:立方和问题
例如: 输入: n 代表多组数组 num1 , num 2 ep: 1 3 这时的算法结果应当为: 1 ^ 3 + 2 ^ 3 + 3 ^ 3 ep : 2 5 这时的算法结果应当为: ...
- Jquery之Bind方法参数传递与接收的三种方法
方法一. function GetCode(event) { alert(event.data.foo); } $(document).ready(function() { $("#s ...
- iOS开发 runtime实现原理以及实际开发中的应用
自己写了一个小例子:有一些相关知识点和博客文章 A: 首先现在控制器里面初始化一个对象,然后调用对象的方法: #import "ViewController.h" #import ...
- 分布式进阶(十八) 分布式缓存之Memcached
分布式缓存 分布式缓存出于如下考虑:首先是缓存本身的水平线性扩展问题,其次是缓存大并发下本身的性能问题,再次避免缓存的单点故障问题(多副本和副本一致性). 分布式缓存的核心技术包括首先是内存本身的管理 ...
- Errors running builder 'Integrated External Tool Builder' on project xxx
出现这样的提示,表明你的项目的Builder项出了问题. 解决方法是: 右键项目选择"Properties",再选择"Builders",删除丢失的builde ...
- (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定
本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 1. 网站管理平台WordPress和云计算平台Azure简介 (6分 ...
- CUDA Cuts: Fast Graph Cuts on the GPU
原文出处: http://lincccc.blogspot.tw/2011/03/cuda-cuts-fast-graph-cuts-on-gpu_03.html 现在需要代理才能访问,所以就转载了. ...
- HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to
/** * 使用sql语句进行查询操作 * @param sql * @return */ public List queryWithSql(final String sql){ List list ...