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 ...
随机推荐
- 7-11使用UNION合并查询
合并查询的语法: SELECT ...FROM 表名一 UNION SELECT ...FROM 表名二 合并查询的特点: 1: 合并表中的列的个数,数据类型数据类型相同或兼容. 2:UNION 默 ...
- WCF----Stream对象限制操作
WCF支持Stream操作,尤其对于传递size过大的消息而言,如要考虑传递消息的效率,WCF推荐通过Stream进行操作.然而,WCF Stream操作规定了一些限制,在我们编写相关程序时,需要特别 ...
- Win10 UAP 绑定
Compiled DataBinding in Windows Universal Applications (UAP) http://nicksnettravels.builttoroam.com/ ...
- HR外包系统 - 薪资项目分类
序号 薪资项目编码规则 6到9开头1 普通工资项目加项 7开头三位,7XX,不够时,从71XX开始2 普通工资项目减项 8开头三位,8XX,不够时,从81XX开始3 ...
- MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe
数据库的备份工作是保护数据库正常运行的关键,以下的文章主要讲述的是MySQL数据库备份的一些小妙招,我们大家都知道使用MySQL dump备份数据库的用户所需要的权限相对而言还是比较小的,只需要sel ...
- PAT A 1014. Waiting in Line (30)【队列模拟】
题目:https://www.patest.cn/contests/pat-a-practise/1014 思路: 直接模拟类的题. 线内的各个窗口各为一个队,线外的为一个,按时间模拟出队.入队. 注 ...
- 如何把Eclipse工程导入到Android Studio
1 在Eclipse中新建android项目androiddemo.里面只有一个MainActivity,主要是使用fastjson将一个Person对象转化成字符串. 2 在项目上点击右键-&g ...
- Android 自定义实现switch开关按钮
前几天在看蘑菇街上有个开关按钮: 就在想是怎样实现的,于是反编译了它的源码,但是这时得到了下面的几张图片: 图片对应的名称: 无色长条:switch_frame; 白色圆点:switch_btn_pr ...
- eclipse->project->clean…作用
其实主要作用就是把编译好的class等文件删除,激活eclipse的自动编译.解决的问题就是,有时候你把代码改了,但因为一些未知的原因,eclipse的自动编译没有成功,导致运行结果不正常.当你的工程 ...
- java中HashMap详解
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实 ...