数据库为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数据库增删改查的更多相关文章

  1. Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...

  2. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  3. Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1. 首先项目图: 2. 这里的布局文件activity_main.xml: <LinearLayout xmlns:andro ...

  4. Android SQLite 数据库 增删改查操作

    Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...

  5. spring--boot数据库增删改查

    spring--boot数据库增删改查 数据库配置:(必须配置),我写的文件是yml的,和properties是相同的 1 spring: 2 datasource: 3 driver-class-n ...

  6. mybatis--实现数据库增删改查

    首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...

  7. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  8. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  9. go——beego的数据库增删改查

    一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...

随机推荐

  1. .NET Web后台动态加载Css、JS 文件,换肤方案

    后台动态加载文件代码: //假设css文件:TestCss.css #region 动态加载css文件 public void AddCss() { HtmlGenericControl _CssFi ...

  2. 弹性布局学习-详解 justify-content(三)

    弹性布局学习-详解 justify-content(三)

  3. 浏览器的visibilitychange 事件ie10以下不兼容

    方法1, <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. AVL树的python实现

    AVL树是带有平衡条件的二叉查找树,一般要求每个节点的左子树和右子树的高度最多差1(空树的高度定义为-1). 在高度为h的AVL树中,最少的节点数S(h)由S(h)=S(h-1)+S(h-2)+1得出 ...

  5. PAT乙级真题1005. 继续(3n+1)猜想 (25)(解题)

    原题: 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证 ...

  6. GNU_makefile_template

    #g++ compiler: options # -std=c++0x enables ISO C++ 11 standard # -I.. pulls in the Version_test.h f ...

  7. 【iOS】init,loadView,viewDidLoad加载关系

    一.loadView 永远不要主动调用这个函数.view controller会在view的property被请求并且当前view值为nil时调用这个函数.如果你手动创建view,你应该重载这个函数. ...

  8. 传统ASP.NET开发和MVC的设计思想

    传统ASP.NET开发 第一步:客户端请求服务器: 第二步:服务器从数据库取得数据处理后响应给客户端页面. MVC的设计思想 第一步:客户端请求控制器(里面的一个方法): 第二步:控制器从数据库里取得 ...

  9. EXTJS 资料 combo 点一次触发一次

    { xtype: 'combo', id: 'ApplyToModel', name: 'ApplyToModel', store: comStoreApplyToModel, valueField: ...

  10. Java内存区域与内存溢出异常(二)

    了解Java虚拟机的运行时数据区之后,大致知道了虚拟机内存的概况,内存中都放了些什么,接下来将了解内存中数据的其他细节,如何创建.如何布局.如何访问.这里虚拟机以HotSpot为例,内存区域以Java ...