package com.hanqi.test;

import java.sql.*;

public class jdbcTest {

    public static void main(String[] args) {

        // 测试JDBC

        Connection conn = null;

        try {

            // 1.加载驱动和注册
// 每一种数据库提供不同的驱动名
Class.forName("oracle.jdbc.driver.OracleDriver");// 加载 // 2.连接数据库 :用户名,密码,URL数据库地址
// url-
String strUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; // 得到连接
conn = DriverManager.getConnection(strUrl, "test1", "1234"); System.out.println("连接数据库成功"); // 3.操作数据库,增删改查
// 执行sql语句完成响应的功能 Statement st = conn.createStatement(); // 执行增删改语句
int i = st.executeUpdate("update T_students set sname = '小四' where sno = '101'");
if (i > 0)
{
System.out.println("操作数据库成功,影响了" + i + "数据");
}
else
{
System.out.println("未修改任何数据 ");
} //DQL 查询
//结果集
ResultSet rs = st.executeQuery("select * from T_students"); //遍历结果集
while(rs.next())
{
//字段序号
String sno = rs.getString(1);
//字段名称
String sname = rs.getString("sname"); Date dt = rs.getDate(4); System.out.println("学号= " + sno + " 学生姓名 = " + sname + " 生日= " + dt.toString());
} //rs.first();//跳到首行 //rs.last();//跳到尾行 //rs.previous();//向上移动 //rs.is rs.close(); st.close(); // 4.关闭连接 //支持占位符和在数据库中预编译
PreparedStatement ps = conn.prepareStatement("update T_students set sname = '小大123' where sno = ?"); // ? - 占位符,需要替换成真正的值
ps.setString(1, "108"); ps.executeUpdate(); System.out.println("执行prepareStatement成功!"); ps.close(); } catch (Exception e) { e.printStackTrace();
System.out.println("连接数据库失败");
}
finally
{
if (conn != null)
{
try
{
conn.close();
}
catch (SQLException e)
{ e.printStackTrace();
}
}
}
} }

学习总结 java 数据库 ResultSet 、PreparedStatement的更多相关文章

  1. Java数据库——ResultSet接口

    使用SQL中的SELECT语句可以查询出数据库的全部结果,在JDBC的操作中数据库的所有查询记录将使用ResultSet进行接收,并使用ResultSet显示内容. 从user表中查询数据 //=== ...

  2. Java数据库ResultSet转json实现

    现在有很多json相关的Java工具,如json-lib.gson等,它们可以直接把JavaBean转换成json格式. 在开发中,可能会从数据库中获取数据,希望直接转成json数组,中间不通过bea ...

  3. 学习练习 java数据库查询小题

    10. 查询Score表中的最高分的学生学号和课程号.(子查询或者排序) 11. 查询每门课的平均成绩. 12.查询Score表中至少有5名学生选修的并以3开头的课程的平均分数. 13.查询分数大于7 ...

  4. Java数据库学习之模糊查询(like )

    Java数据库学习之模糊查询(like ): 第一种方式:直接在SQL语句中进行拼接,此时需要注意的是parm在SQL语句中需要用单引号拼接起来,注意前后单引号之间不能空格 String sql = ...

  5. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  6. Java学习笔记--JDBC数据库的使用

    参考  hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 一. JDBC API中提供的常用数据库 ...

  7. MySQL学习(三)——Java连接MySQL数据库

    1.什么是JDBC? JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据 ...

  8. java数据库学习

    //编写db类/* a加载驱动 驱动类要全路径 包名+类名 suround with try/catch * b设置参数url user pwd * c.连接数据库(import 'Connectio ...

  9. java数据库学习路线和必学知识点!

    java数据库必学知识点! 分享一下数据库的学习路线和必学的知识点! 掌握mysql,Oracle在各个平台上的安装及使用 Mysql数据库基础 mysql概述.优点.运行原理及内存结构 mysql数 ...

随机推荐

  1. IntentService简介

    参照文章:http://android.tgbus.com/Android/tutorial/201106/355229.shtml IntentService是Service类的子类,用来处理异步请 ...

  2. Ruby1.9.3-下载网络图片至本地,并按编号保存。

    #本程序功能:下载网络图片至本地,并按编号保存. #使用Ruby1.9.3在winxp_sp3下编写. require 'nokogiri' require 'open-uri' #以下 根据网址解析 ...

  3. Flash AS 响应双击事件MouseEvent.DOUBLE_CLICK

    没想到在WinForm简简单单的一个问题,在AS里会成为一个坑. 我遇到的这个问题是由于Loader没有设置doubleClickEnabled=true而导致的. 因此出现这个问题,请思考是否由于此 ...

  4. Maven实战

      一.不要重复造轮子     极限编程(XP)是近些年在软件行业红的发紫的敏捷开发方法,强调拥抱变化.   Maven帮助XP团队实现一些核心价值:   1.简单.Maven暴露了一组一致.简洁的操 ...

  5. websphere应用程序的使用

    1.服务器板块 1.1 jvm虚拟机的通用参数: agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777Dcom.ibm.w ...

  6. [Java] File文件列表

    package test.file; import java.io.File; import java.io.FilenameFilter; /** * 文件列表,文件过滤 * @author Fro ...

  7. CodeForces 604D 【离散数学 置换群】

    题意: 给你一个方程,方程太变态不打,给你一个p一个k,p保证是大于等于3的质数,k保证在0~p-1之间的整数.要求对应函数的定义域在0~p-1值域为0~p-1的子集,求这样的函数有多少个... 分析 ...

  8. ACM—最大连续子序列(HDOJ1003)

    HDOJ链接 http://acm.hdu.edu.cn/showproblem.php?pid=1003 不了解题目的朋友可以先看一下题目,在这里就不再详细介绍了.(文章内容和解题思路不完全相同,方 ...

  9. javaSE学习博客与笔记

    equals和==的区别 Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,do ...

  10. java泛型的限制

    1.不能实例化泛型数组,除非是无上界的类型通配符,如:Gennerid<String> []a=new Gennerid<String>[10] 而Gennic<?> ...