常识名词:ODBC ,JDBC,JDBC API ,JDBC Driver API 


数据准备,续上节:
 
JDBC编程流程

最基本的JDBC操作

本段内容主要完成JDBC的增删查改操作
package com.dante.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class JDBCtest {

public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
//Class类
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_db","root","root1234");//获取mysql的数据库连接
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return conn;
}
public static void insert(){
Connection conn = getConnection();
try{
String sql = "insert into tbl_user(user_name,user_age,signup_date,email)"+
"values('TOM','25','2016-11-08','tom@gmail.com')";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
//可以执行DML语句(数据操作语句:select,insert,update,delete)返回影响的记录条数
//执行DDL语句(数据定义语句:CREATE,ALTER,DROP),返回零
//能抛出sqlException和sqlTimeoutException异常
System.out.println("向用户表中插入了 "+count+"条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void update() {
Connection conn = getConnection();
try{
String sql = "update tbl_user set user_name = 'Tom' where user_name='TOm'";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
//可以执行DML语句(数据操作语句:select,insert,update,delete)返回影响的记录条数
//执行DDL语句(数据定义语句:CREATE,ALTER,DROP),返回零
//能抛出sqlException和sqlTimeoutException异常
System.out.println("向用户表中更新了 "+count+"条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void delete(){
Connection conn = getConnection();
try{
String sql = "Delete from tbl_user where ID=3";
Statement st = conn.createStatement();
int count = st.executeUpdate(sql);
//可以执行DML语句(数据操作语句:select,insert,update,delete)返回影响的记录条数
//执行DDL语句(数据定义语句:CREATE,ALTER,DROP),返回零
//能抛出sqlException和sqlTimeoutException异常
System.out.println("在用户表中删除了 "+count+"条记录");
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) {
/*
* // TODO Auto-generated method stub
* String sql = "select * from tbl_user";
* Connection conn = null; //当前数据库连接
Statement st = null; //向数据库发送的sql语句
ResultSet rs = null; //结果集,封装了从数据库中查询到的数据
try {
Class.forName("com.mysql.jdbc.Driver"); //注册Mysql的JDBC驱动程序
//Class类继承自Object类,这个类封装被装载的JVM中的类的信息 ,比如类的成员方法,成员变量以及类实现的接口,父类等。
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_db","root","root1234");//获取mysql的数据库连接
st = conn.createStatement();
rs = st.executeQuery(sql);
//遍历对象
while(rs.next()){
System.out.print(rs.getInt("ID")+"\t");
System.out.print(rs.getString("user_name")+"\t");
System.out.print(rs.getString("user_age")+"\t");
System.out.print(rs.getString("email")+"\t");
System.out.println();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
finally {
try {
rs.close();
} catch(Exception e2){
// TODO: handle finally clause
}
try {
st.close();
} catch (Exception e3) {
// TODO: handle exception
}
try {
conn.close();
} catch (Exception e2) {
// TODO: handle exception
}
} */
//insert();
// update();
delete();
}
}

与事务相关的语句

开始事务:BEGIN TRANSACTION
提交事务:COMMIT TRANSACTION
回滚事务:ROLLBACK TRANSACTION
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
关于事务的几个特性在前面的数据库常识中已经讲过,不再赘述。
例子中分别进行了两次插入操作,人为的在第二次插入操作中加入了异常,通过事务回滚来实现数据库的一致性和事务的原子性,并且抛出异常。

 从输出结果我们可以看到事务是怎样进行的:
 

 

JDBC数据库编程的更多相关文章

  1. Java JDBC数据库编程

    课程  Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL  ...

  2. JDBC数据库编程:PreparedStatement接口

    使用PreparedStatement进行数据库的更新及查询操作. PreparedStatement PreparedStatement是statement子接口.属于预处理. 使用statemen ...

  3. JDBC数据库编程常用接口(转)

    JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各种关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现.这东西能够 ...

  4. Java高级篇(三)——JDBC数据库编程

    JDBC是连接数据库和Java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.本篇将介绍一下如何使用JDBC操作数据库(以MySQL为例). 一.JDBC JDBC制定了统一访问 ...

  5. JDBC数据库编程:callableStatement接口

    了解MySQL存储过程建立, 了解存储过程中参数传递的三种方式 了解callablestatement调用存储过程操作. 因为在现在开发中,使用存储过程的地方越来越少,所以,对于存储过程使用,只需要了 ...

  6. JDBC数据库编程:ResultSet接口

    掌握ResultSet接口 使用ResultSet接口进行查询 ResultSet接口 在JDBC操作中,数据库所有查询记录将使用ResultSet进行接收,并使用ResultSet显示内容. 常用方 ...

  7. Java ——JDBC数据库编程

    数据库分类 关系型数据库:以表来存放数据的,数据与数据之间的关系通过表之间的连接体现 面向对象的数据库:保存的是对象本身 其它 数据库:数据库管理系统中创建一个个的保存数据的单位 数据是保存在数据库的 ...

  8. JDBC数据库编程(java实训报告)

    文章目录 一.实验要求: 二.实验环境: 三.实验内容: 1.建立数据库连接 2.查询数据 2.1 测试结果 3.添加数据 3.1.测试结果 4.删除数据 4.1.测试结果 5.修改数据 5.1 测试 ...

  9. JDBC数据库编程基本流程

    1.加载驱动类 Class.forName("");   2.创建数据库连接 Connection con = DriverManager.getConnection(url, u ...

随机推荐

  1. Win CE 6.0 获取手持机GPS定位2----示例代码 (C#)

    一.须知 1.手持机(PDA)必须有GPS模块,才能通过代码使用串口通信获取GPS相关信息 2.要清楚自己手持机(PDA)固定的GPS通信串口号,如我们公司的手持机获取GPS信息的串口为COM4 3. ...

  2. MVC中重写RoleProvider角色管理

    /* 数据表SQL脚本 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_UsersInRoles_Ro ...

  3. mybatis的搭建和注入spring的方式

    mybatis实际上是一个更多关注sql语句的框架,他的出现是想让开发者更简单的去操作数据库. 与hibernate相比较,hibernate更多的是去sql化,虽然hibernate也可以本地sql ...

  4. HTML之头部标签

    <header> head 元素元素包含了所有的头部标签元素 可以添加在头部区域的元素标签为: title,style,meta,link,script,noscript,base < ...

  5. OpenWRT 添加应用程序开机启动方法

    方法一:在/etc/inid.d/目录下新建启动脚本. 方法二:直接在/etc/rc.local 中添加启动命令,如:./usr/bin/relay &

  6. coursera_poj_魔兽世界终结版

    五个下午的时间!!!!终于过了!!有史以来做的最复杂的一个题这是我迄今为止做的最复杂也最具有挑战的一个oj作业.虽然之前做过比这个规模一些作业项目,但是往往有简单的模块框架,模块之前的关系也只是有些简 ...

  7. zabbix杂文

    ps:这是从我原来记录的地方直接copy的,很杂乱,不过主要我想记录当时的思路,乱就乱了...... 背景: 这是进公司的第一个正式任务(之前在测试环境熟悉),所以基本上最近一段时间都在弄这个东西,一 ...

  8. Taffy自动化测试框架简介

    Taffy Taffy是基于nosetests的自动化测试框架. Taffy主要用来测试后台服务(包括且不限于Http, Dubbo/hessian, Webservice, Socket等类型接口) ...

  9. JAVA描述的简单ORM框架

    抽了点时间自己写了个ORM,主要是为了复习JAVA泛型,映射,注解方面的知识.如需代码,可前往:https://github.com/m2492565210/java_orm自行下载 框架的类结构如下 ...

  10. Python 使用正则表达式

    当使用正则表达式时,re 模块内部会干两件事情 1.编译正则表达式,如其字串本身不合法,报错 2.用编译后的正则表达式去匹配字符串 re_telephone = re.compile(r'^(\d{3 ...