Java数据库增删改查
数据库为MySQL数据库,Oracle数据库类似:
插入数据
package com.jef.sql; import java.sql.Connection;
import java.sql.PreparedStatement; /**
* //演示如何使用com.mysql.jdbc连接桥连接Mysql,插入内容,共三种方式:静态的两种executeUpdate(),executeBatch(),动态的PrepareStatement,
* 实时动态时可以采用PrepareStatement()和executeBatch()的结合,删除、修改都有这三种方法
*/
public class JavaCtMysqlInsert {
public static void main(String[] args) {
try {
Connection ct = ConnectionMySQL.getMySQLConnection();
ct.setAutoCommit(false);
PreparedStatement ps = ct.prepareStatement("insert into user values(?, ?)");
ps.setString(1, "ranye");
ps.setString(2, "100");
ps.executeUpdate();
ps.clearParameters();
ct.commit();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.jef.sql; import java.sql.Connection;
import java.sql.Statement; public class JavaCtMysqlInsertTwo {
public static void main(String[] args) {
try {
Connection ct = ConnectionMySQL.getMySQLConnection();
ct.setAutoCommit(false);
Statement sm = ct.createStatement();
sm.addBatch("insert into user values('dage', 100)");
sm.addBatch("insert into user values('haonan', 100)");
sm.executeBatch();
ct.commit();
sm.close();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.jef.sql; import java.sql.Connection;
import java.sql.Statement; public class JavaCtMysqlInsertThree {
public static void main(String[] args) {
try {
Connection ct = ConnectionMySQL.getMySQLConnection();
ct.setAutoCommit(false);
Statement sm = ct.createStatement();
sm.executeUpdate("insert into user values('yuanyuan', '100')");
ct.commit();
sm.close();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
删除数据
package com.jef.sql; import java.sql.Connection;
import java.sql.Statement; public class JavaCtMysqlDelete {
public static void main(String[] args) {
try {
Connection ct = ConnectionMySQL.getMySQLConnection();
Statement sm = ct.createStatement();
sm.executeUpdate("delete from user where name='tufujie'");
sm.close();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.jef.sql; import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; public class JavaCtMysqlDeleteTwo {
public static void main(String[] args) {
try {
Connection ct = ConnectionMySQL.getMySQLConnection();
Statement sm = ct.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = sm.executeQuery("select * from user where name='dage'");// 从查询到的内容中进行修改、插入和删除
rs.last();
rs.deleteRow();
rs.close();
sm.close();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
修改数据
package com.jef.sql; import java.sql.Connection;
import java.sql.Statement; public class JavaCtMysqlUpdate {
public static void main(String[] args) {
try {
Connection ct = ConnectionMySQL.getMySQLConnection();
Statement sm = ct.createStatement();
sm.executeUpdate("update user set name='ran' where name='ranye'");
sm.close();
ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
查询数据
package com.jef.sql; import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; /**
* 当前情况下至少需要4+2条数据存在,特殊场景需捕获或者抛出
*/
public class JavaCtMysqlSelect {
public static void main(String[] args) {
try {
Connection conn = ConnectionMySQL.getMySQLConnection();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet result = stmt.executeQuery("select * from user");
System.out.println("从末尾数据开始输出");
result.last();
System.out.println(result.getString("name") + "\t" + result.getString("password"));
while (result.previous())
System.out.println(result.getString("name") + "\t" + result.getString("password"));
System.out.println("从起始数据开始输出");
result.first();
System.out.println(result.getString("name") + "\t" + result.getString("password"));
while(result.next())
System.out.println(result.getString("name") + "\t" + result.getString("password")); // 指定第几笔数据
System.out.println("指定第几笔数据,这里指定第4笔数据");
result.absolute(4);
System.out.println(result.getString("name") + "\t" + result.getString("password")); // 从目前游标处指定游标下移数
System.out.println("从目前游标处指定游标位置,这里向下移动2笔数据");
result.relative(2);
System.out.println(result.getString("name") + "\t" + result.getString("password"));
result.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java数据库增删改查的更多相关文章
- Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1. 首先项目图: 2. 这里的布局文件activity_main.xml: <LinearLayout xmlns:andro ...
- Android SQLite 数据库 增删改查操作
Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...
- spring--boot数据库增删改查
spring--boot数据库增删改查 数据库配置:(必须配置),我写的文件是yml的,和properties是相同的 1 spring: 2 datasource: 3 driver-class-n ...
- mybatis--实现数据库增删改查
首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查
一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...
- go——beego的数据库增删改查
一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...
随机推荐
- PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法
PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法 1.检查服务器的字符编码 Select * from V$NLS_PARAMETE ...
- SQL存储过程和触发器
一. 存储过程 1. 有关概念 存储过程是由SQL语句及控制流语句组成的集合.调用一个存储过程,可以一次性地执行过程中的所有语句.从这一点来说,它类似于程序. 存储过程由用户建立,它作为数据库的一个 ...
- ajax的post用法
<button>点击之后,显示ajax返回的数据</button> 首先在页面上新建了一个按钮,点击这个按钮后,执行ajax操作,并将返回的字符串显示在按钮上. 下面是ajax ...
- Django 下static的配置
1.添加一个BASE_DIR在setting.py中,如果已存在可不用添加,需引入 import os BASE_DIR = os.path.dirname(os.path.dirname(os.pa ...
- 【bzoj3110】[Zjoi2013]K大数查询
Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置 ...
- .net google calendar
https://developers.google.com/gdata/client-cs http://www.codeproject.com/Articles/64474/How-to-Read- ...
- python学习笔记19(序列的方法)
序列包含有宝值 表(tuple)和表(list).此外,字符串(string)是一种特殊的定值表,表的元素可以更改,定值表一旦建立,其元素不可更改. 任何的序列都可以引用其中的元素(item). 下面 ...
- [转]深度理解依赖注入(Dependence Injection)
http://www.cnblogs.com/xingyukun/archive/2007/10/20/931331.html 前面的话:提到依赖注入,大家都会想到老马那篇经典的文章.其实,本文就是相 ...
- 1023: [SHOI2008]cactus仙人掌图 - BZOJ
Description如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回路 ...
- 3.7 spring-property 子元素的使用与解析
1.0 Property子元素的使用 property 子元素是再常用不过的了, 在看Spring源码之前,我们先看看它的使用方法, 1. 实例类如下: public class Animal { p ...