JDBC学习笔记2
数据库数据更新操作statement接口下操作:【代码】
import java.sql.DriverManager;
import java.sql.SQLException;
public class LinkUpdate {
private String driver="oracle.jdbc.OracleDriver";
private String url="jdbc:oracle:thin:@localhost:1521:XE";
private String user="victor";
private String password="victor";
public void link(String name){
java.sql.Connection con=null;
java.sql.Statement sta=null;
java.sql.ResultSet res=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
sta=con.createStatement();
String sql="update info set name='"+name+"' where name='***'";
res=sta.executeQuery(sql);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(res!=null)
res.close();
if(sta!=null)
sta.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
LinkUpdate l= new LinkUpdate();
l.link("***");
}
}
数据库数据操作prepareStatement接口下:【代码】
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Date;
public class DisLink {
private String driver="oracle.jdbc.OracleDriver";
private String url="jdbc:oracle:thin:@localhost:1521:XE";
private String user="victor";
private String password="victor";
//预编译的prepareStatement接口下插入语句【带参数】
/*public void link(int id,String name,int age,String phone,String gender){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
System.out.println(con);
//创建预编译的prepareStatement
String sql="insert into info values("+id+",'"+name+"','"+age+"','"+phone+"','"+gender+"')";
pre=con.prepareStatement(sql);
pre.execute();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下插入语句,插入单个对象数据【异构】【使用占位符(不带参数)】
/*public void link1(){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
String sql="insert into info values(?,?,?,?,?)";
pre=con.prepareStatement(sql);
pre.setInt(1, 4);
pre.setString(2,"babc4");
pre.setInt(3, 18);
pre.setString(4, "1563");
pre.setString(5, "male");
pre.execute();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下插入语句,插入批量对象数据【同构】【使用占位符(不带参数)】
/*public void link2(){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
String sql="insert into info values(?,?,?,?,?)";
pre=con.prepareStatement(sql);
for(int i=1;i<=20;i++){
pre.setInt(1, i);
pre.setString(2,"abc"+i);
pre.setInt(3, 9+i);
pre.setString(4, "153");
pre.setString(5, "male");
pre.execute();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下批量插入数据,手动提交事务【***回滚***】,输出程序运行时间,将SQL语句要插入的批量数据对象全部保存到缓存中进行条件判断操作
/*public void link3(){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
con.setAutoCommit(false);
String sql="insert into info values(?,?,?,?,?)";
pre=con.prepareStatement(sql);
long start_date=System.currentTimeMillis();
for(int i=51;i<=100;i++){
pre.setInt(1, i);
pre.setString(2,"abc"+i);
pre.setInt(3, 30+i);
pre.setString(4, "15163");
pre.setString(5, "male");
//把前面的SQL语句全部保存到缓存中
pre.addBatch();
if(i%10==0){
pre.executeBatch();
con.commit();
}
}
pre.executeBatch();
con.commit();
long time_end=System.currentTimeMillis();
System.out.println(time_end-start_date);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下查询数据库数据【不带参数】
/* public void link4(){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
java.sql.ResultSet res=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
String sql="select * from info where id=1";
pre=con.prepareStatement(sql);
res=pre.executeQuery();
while(res.next()){
System.out.println("id="+res.getInt(1)+" ; "+
"name="+res.getString(2)+" ; "+
"age"+res.getInt(3)+" ; "+
"phone"+res.getString(4)+" ; "+
"gender="+res.getString(5));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(res!=null)
res.close();
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下查询数据库数据【不带参数】
/*public void link5(int id){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
java.sql.ResultSet res=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
String sql="select * from info where id=?";
pre=con.prepareStatement(sql);
pre.setInt(1, id);
res=pre.executeQuery();
while(res.next()){
System.out.println("id="+res.getInt(1)+" ; "+
"name="+res.getString(2)+" ; "+
"age"+res.getInt(3)+" ; "+
"phone"+res.getString(4)+" ; "+
"gender="+res.getString(5));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下插入语句【带参数】,【有占位符】
/*public void link6(int id,String name,int age,String phone,String gender){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
java.sql.ResultSet res=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
String sql="insert into info values(?,?,?,?,?)";
pre=con.prepareStatement(sql);
pre.setInt(1,id);
pre.setString(2,name);
pre.setInt(3,age);
pre.setString(4,phone);
pre.setString(5,gender);
pre.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(res!=null)
res.close();
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}*/
//预编译的prepareStatement接口下插入语句[时间的处理方式](没传入参数)
public void link7(){
java.sql.Connection con=null;
java.sql.PreparedStatement pre=null;
java.sql.ResultSet res=null;
try {
Class.forName(driver);
con=DriverManager.getConnection(url, user, password);
String sql="insert into data values(?,?,?)";
pre=con.prepareStatement(sql);
pre.setInt(1, 1);
pre.setString(2, "****");
Date date=new Date();
//pre.setDate(3, new java.sql.Date(date.getTime()));
pre.setDate(3,new java.sql.Date(date.getTime()));
res=pre.executeQuery();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(res!=null)
res.close();
if(pre!=null)
pre.close();
if(con!=null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
DisLink dis=new DisLink();
//dis.link(3, "***3", 17, "163", "male");
//dis.link1();
//dis.link2();
//dis.link3();
//dis.link4();
//dis.link6(103, ***103", 15, "1563", "male");
dis.link7();
}
}
JDBC学习笔记2的更多相关文章
- JDBC 学习笔记(十一)—— JDBC 的事务支持
1. 事务 在关系型数据库中,有一个很重要的概念,叫做事务(Transaction).它具有 ACID 四个特性: A(Atomicity):原子性,一个事务是一个不可分割的工作单位,事务中包括的诸操 ...
- JDBC 学习笔记(十)—— 使用 JDBC 搭建一个简易的 ORM 框架
1. 数据映射 当我们获取到 ResultSet 之后,显然这个不是我们想要的数据结构. 数据库中的每一个表,在 Java 代码中,一定会有一个类与之对应,例如: package com.gerrar ...
- JDBC 学习笔记(六)—— PreparedStatement
1. 引入 PreparedStatement PreparedStatement 通过 Connection.createPreparedStatement(String sql) 方法创建,主要用 ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
- JDBC学习笔记一
JDBC学习笔记一 JDBC全称 Java Database Connectivity,即数据库连接,它是一种可以执行SQL语句的Java API. ODBC全称 Open Database Conn ...
- JDBC学习笔记(2)——Statement和ResultSet
Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句.Statement ...
- JDBC学习笔记(1)——JDBC概述
JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数 ...
- 【转】JDBC学习笔记(2)——Statement和ResultSet
转自:http://www.cnblogs.com/ysw-go/ Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数 ...
- 【转】JDBC学习笔记(1)——JDBC概述
转自:http://www.cnblogs.com/ysw-go/ JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据 ...
- JDBC学习笔记(1)
说明:本系列学习笔记主要是学习传智播客的李勇老师的教学课程和一本英文电子书<JDBC Recipes A Problem-Solution Approach>所作的笔记. 1,什么是JDB ...
随机推荐
- C# 重绘tabControl,添加关闭按钮(续)
在上一篇随笔中,添加关闭按钮是可以实现 ,但细心一点就会发现,每次关闭一个选项卡,tableControl都会自动跳到第一个页面,显然 这不是我们想要的,为此,我修改了部分的代码.除此之外,我还添加了 ...
- [Tools] Eclipse XML 注释和撤销注释
eclipse中编辑java或C/C++文件时,注释的快捷键均为 "CTRL + / ",编辑xml文件时,该快捷键无效. eclipse XML 注释:CTRL + SHIFT ...
- 第二十五篇:在SOUI中做事件分发处理
不同的SOUI控件可以产生不同的事件.SOUI系统中提供了两种事件处理方式:事件订阅 + 事件处理映射表(参见第八篇:SOUI中控件事件的响应) 事件订阅由于直接将事件及事件处理函数连接,不存在事件分 ...
- iOS经典面试题(转)
iOS经典面试题 前言 写这篇文章的目的是因为前两天同学想应聘iOS开发,从网上找了iOS面试题和答案让我帮忙看看.我扫了一眼,倒吸了一口冷气,仔细一看,气的发抖.整篇题目30多个没有一个答案是对 ...
- sql语句中----删除表数据的"三兄弟"
说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了 现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的 老大- ...
- LeetCode——Single Number(找出数组中只出现一次的数)
问题: Given an array of integers, every element appears twice except for one. Find that single one. No ...
- UVA136 求第1500个丑数
枚举大范围数据..暴力检查题目条件 #include <iostream> #include <cstdio> #include <vector> #include ...
- Liferay 6.2 改造系列之五:修改默认站点的页面内容
相关页面可以通过/portal-master/portal-impl/src/portal.properties文件配置进行修改: 登录页: ## ## Default Landing Page ## ...
- Java 多字符分割字符串
有时候要对不规整的数据进行分割处理,数据中可能会出现一个或多个不同的分割符,这时需要用到 String.split() 方法来进行分割,代码如下: String string = "张三:李 ...
- json数据实际应用
JSON序列化输出 var xiaoming = { name: '小明', age: 14, gender: true, height: 1.65, grade: null, 'middle-sch ...