JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范。

JDBC与数据库驱动的关系:接口与实现的关系。

JDBC规范(掌握四个核心对象):

DriverManager:用于注册驱动

Connection: 表示与数据库创建的连接

Statement: 操作数据库sql语句的对象

ResultSet: 结果集或一张虚拟表

实体类

package com.mf.domain;
import java.util.Date; public class User {
private int id;
private String name;
private int age;
private Date createtime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
} }

CRUD

package com.mf.jdbc;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.mf.domain.User;
public class CRUD {
public static void main(String[] args) throws Exception {
//3种连接方式
Connection conn=null;
//得到执行sequel语句的对象Statement
Statement stmt=null;
//查 执行sql语句,并返回结果
ResultSet rs=null;
try {
//注册驱动
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());//不建议使用原因有2个:> 导致驱动被注册2次。> 强烈依赖数据库的驱动jar
Class.forName("com.mysql.jdbc.Driver");//此处采用反射机制加载
//获取连接Connection //Connection 接口 多态 父类的壳子接收子类的实现,有利于后期代码的扩展 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); /*Properties info=new Properties();
info.setProperty("user", "root");
info.setProperty("password", "root");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", info);*/ //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=root"); stmt = conn.createStatement(); //增
/*stmt = conn.prepareStatement("INSERT INTO users VALUES(?,?)");
((PreparedStatement) stmt).setString(1, "tom");
((PreparedStatement) stmt).setInt(2, 5);*/ /*int i = stmt.executeUpdate("INSERT INTO USER (`Name`, `Age`) VALUES('mf',20)");
if(i>0){
System.out.println("success");
}
//删
int j = stmt.executeUpdate("UPDATE USER SET Age=25 WHERE ID=1");
if(j>0){
System.out.println("success");
}
//改
int k = stmt.executeUpdate("DELETE FROM USER WHERE ID = 1 ");
if(k>0){
System.out.println("success");
}*/ rs = stmt.executeQuery("select * from user");
//处理结果
List<User> list=new ArrayList<User>();
while(rs.next()){
User user=new User();
user.setName(rs.getString("Name"));
user.setAge(rs.getInt("Age"));
user.setCreatetime(rs.getDate("CreatTime"));
list.add(user);
System.out.println(list.size());
System.out.println("---------------------------------------------------");
System.out.println(rs.getObject("Name")+":"+rs.getObject("Age")+":"+rs.getObject("CreatTime")); }
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
//关闭资源
if(rs!=null)
{
try {
rs.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
if(stmt!=null)
{
try {
stmt.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stmt=null;
}
if(conn!=null)
{
try {
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn=null;
}
}
}
}

  

JDBC基础一的更多相关文章

  1. jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

    一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...

  2. jdbc基础 (四) 批处理

    批处理,就是字面上的意思,一次性处理一批sql语句. 直接看例子吧: package com.cream.ice.jdbc; import java.sql.Connection; import ja ...

  3. jdbc基础 (三) 大文本、二进制数据处理

    LOB (Large Objects)   分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有B ...

  4. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

  5. JDBC基础教程

    本文实例讲述了JDBC基础知识与技巧.分享给大家供大家参考.具体分析如下: 1.什么是JDBC? 通俗来讲JDBC技术就是通过java程序来发送SQL语句到数据库,数据库收到SQL语句后执行,把结果返 ...

  6. Java 中 JDBC 基础配置

    Java 中 JDBC 基础配置 <resource auth="Container" driverclassname="oracle.jdbc.driver.Or ...

  7. Unit01: JDBC原理 、 JDBC基础编程

    Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...

  8. Java应用程序连接数据库--JDBC基础

    Java应用程序连接数据库--JDBC基础   Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...

  9. JDBC基础教程:tutorialspoint-jdbc

    来自turorialspoint的JDBC基础教程(英文),官网:https://www.tutorialspoint.com/jdbc/index.htm 这个教程在国内已经被翻译成中文(不过是属于 ...

  10. JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务

    JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...

随机推荐

  1. 【转】 利用.dSYM和.app文件准确定位Crash位置

    http://blog.csdn.net/jinzhu117/article/details/20615991 首先,确保在release(Ad Hoc或者App Store)一个版本时,保存了对应的 ...

  2. 用github pages展示你的静态网页,多项目支持

    我看到有分享用github pages来做博客的,不过我并不想挂博客在上面,我只是想将我的一些作品挂上去,然后链接到我的简历里,这样HR可以直接看到. 首先是最基本的操作,在github上创建一个新的 ...

  3. Creating Icon Overlay Handlers / 创建图标标记 Handlers (翻译自MSDN) / VC++, Windows, DLL, ATL, COM

    创建图标标记 Handlers Creating Icon Overlay Handlers 图标标记是放在代表着某个 Shell 对象的图标之左下角的小图像.它们通常被加在一个对象的图标的身上来提供 ...

  4. php添加环境变量

    在php的安装目录中添加,如/usr/php-5.6.16添加env.php文件,在文件中设置环境变量: 如:<?php$_SERVER['ENV'] = 'production'; 再到配置文 ...

  5. phpinfo中查不到memcache信息问题

    已经安装了php的memcache扩展,可是怎么都不能通过phpinfo查询到,实际使用时提示扩展未安装.为什么呢?百般寻求解决方法,才发现主要有以下两点原因: 1.使用的php和安装扩展的php不是 ...

  6. 使用CORS:跨域两三事

    本文为译文. 简介 APIS是可以将富网页应用串连在一起的线程.但是这个应用难以转给浏览器,跨域请求技术的选择被限制了,类似JSONP(由于安全考虑,使用会被限制),或者配置代理(设置和维护都比较头痛 ...

  7. Windows API学习---线程与内核对象的同步

    前言 若干种内核对象,包括进程,线程和作业.可以将所有这些内核对象用于同步目的.对于线程同步来说,这些内核对象中的每种对象都可以说是处于已通知或未通知的状态之中.这种状态的切换是由Microsoft为 ...

  8. 智能指针(二):shared_ptr实现原理

    前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针 ...

  9. ASP.NET的SEO:使用.ashx文件——排除重复内容

    本系列目录 不同的链接指向的页面如果具有大量相同的内容,这种现象就会被称为"重复内容",如果一个网站的重复内容很多,搜索引擎就会认为这个网站的价值不高.所以我们应尽量避免各种重复内 ...

  10. c#面试题及答案

    1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组3:请简述面向对象的多态的 ...