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 ...
随机推荐
- 11g SQL Monitor
1,首先确认两个参数的值 SQL> show parameter statistics_level NAME TYPE VALUE ------- ...
- Windows下Apache服务器中自动配置二级子域名
今天我们介绍的这个办法,只需要简单修改 httpd-vhosts.conf 文件,配合 .htaccess 文件即可实现自动配置二级域名. 我们这里以 wpchina.com 为例,以下代码中的 wp ...
- SQL常见错误及处理方法
1.情况:数据库引擎安装失败,报类似权限不足的错误 解决:可能由于计算机名和用户名相同导致,更改计算机名,卸载干净重装即可
- 19条ANDROID平台设计规范(转)
1.尺寸以及分辨率: Android的界面尺寸比较流行的有:480*800.720*1280.1080*1920,我们在做设计图的 时候建议是以 480*800的尺寸为标准; 2.界面基本组成元素: ...
- excel、csv、txt文件数据读取
/// <summary> /// 读取Excel表每一行第一列的字符串集合 /// </summary> /// <param name="filePath& ...
- Flash Media Server 4.0 破解 注册
Adobe Flash Media Interactive Server 3.5s/n:1373-5047-2985-0514-5175-0098 s/n: 1373-5632-4666-9521-8 ...
- document.body / document.ducumentElement /等获取高度和宽度的区别 ----转载
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 《DSP using MATLAB》示例Example4.14
代码: b = [1]; a = [1, -1.5, 0.5]; % [R, p, C] = residuez(b,a) Mp = (abs(p))' Ap = (angle(p))'/pi % ch ...
- SU unisam命令学习
- Codeforces Edu3 E. Minimum spanning tree for each edge
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...