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 ...
随机推荐
- [Linux] yum和apt-get用法及区别
一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包 ...
- Spring之ResourceLoader加载资源
Resource与ResourceLoader对比 1.Resource接口定义了应用访问底层资源的能力. 通过FileSystemResource以文件系统绝对路径的方式进行访问: 通过ClassP ...
- WPF初学(一)——布局【良好界面的基础】
由Winform转到WPF的一部分人,很可能忽略掉布局,习惯性的使用固定定位.然而,没有良好的布局,后面界面控件画的再好看,花哨,都不过是鲜花插在牛粪上,很可能始终都是一坨??(呵呵). 闲话少说,首 ...
- 不通过App Store实现ios应用分发下载安装
最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到 ...
- HDU 3364 Lanterns 高斯消元
Lanterns Problem Description Alice has received a beautiful present from Bob. The present contains ...
- ubuntu12.04 安装eclipse
1:去官网下载最新版的eclipse for linux; 2:cd /usr/local 用命令 sudo mkdir eclipse 建立一个Eclipse的目录 3:将下载的文件copy到ec ...
- Android 自定义实现switch开关按钮
前几天在看蘑菇街上有个开关按钮: 就在想是怎样实现的,于是反编译了它的源码,但是这时得到了下面的几张图片: 图片对应的名称: 无色长条:switch_frame; 白色圆点:switch_btn_pr ...
- 《DSP using MATLAB》示例Example4.11
代码: b = [1, 0]; a = [1, -0.9]; % %% ---------------------------------------------- %% START a determ ...
- 运行re-sign.jar重签名工具报错ERROR:Cannot run program "D:\sdk\tools\zipalign
今天在使用这个拖拽到具,把apk文件拖到re-sign.jar运行打开的界面,报错如下: ERROR:Cannot run program "E:\Android sdk\sdk\tools ...
- sqoop学习
最近学习了下这个导数据的工具,但是在export命令这里卡住了,暂时排不了错误.先记录学习的这一点吧 sqoop是什么 sqoop(sql-on-hadoop):是用来实现结构型数据(如关系型数据库) ...