JDBC(Java Database Connectivity:Java访问数据库的解决方案)定义一套标准接口,即访问数据库的通用API,不同数据库厂商根据各自数据的特点去实现这些接口。

  JDBC是Java应用程序和数据库之间的通信桥梁,是Java应用程序访问数据库的通道。

  1.JDBC标准主要有一株接口组成,其好处是统一了各种数据库的访问方式;

  2.JDBC接口的实现类称为数据库驱动,由数据库厂商提供,使用JDBC必须要导入接口;

  

第1部分 JDBC工作过程:

1)加载驱动,建立连接;

2) 创建语句对象;

3) 执行SQL语句;

4) 处理结果集;

5) 关闭连接;

第2部分 JDBC具体使用步骤:

1) 导入JDBC驱动jar;

  使用Maven可以便于导入jar包和移植

2) 注册JDBC驱动;

参数:“驱动程序类名”

Class.forName(“驱动程序类名”);

3) 获得Connection对象

需要三个参数:URL,username,password

连接数据库

4) 创建Statement(语句)对象

conn.createStatement()方法创建对象

用于执行SQL语句

execute(ddl) 执行任何语句,常用语执行DDL

executeUpdate(DML) 执行DML语句 ,如insert,update,delete

executeQuery(DQL) 执行DQL语句,如select

5) 处理SQL执行结果:

execute(DDL) 如果没有异常则成功;

executeUpdate(DML) 返回数字,表示更新“行”数量,抛出异常则失败;

executeQuery(DQL) 返回ResultSet(结果集)对象,代表2维查询结果;

使用for遍历处理,如果查询失败抛出异常!

6) 关闭数据连接,最后一定要关闭!

conn.close();

第3部分 小案例

3.1 创建一个表

  注意:用String写SQL语句时换行时要注意加空格!

package kwin.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* jdbd使用
* @author KwinWei QQ:885251358
*
*/
public class JdbcDemo { public static void main(String[] args) {
try {
/*连接到数据库
*/
Class.forName("oracle.jdbc.OracleDriver");
//System.out.println("OK!");
/*不同的oracle的IP地址不同
* 主机名,端口号,SID
* url,username,password
*
* jdbc:oracle:thin 写错会找不到驱动
* 后半写错 连接不上数据库
*
* sqldeverment 连接右键可查看
* */
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String username = "system"; //用户名密码错误会拒绝连接
String password = "root"; //getConnection() 查找并尝试连接到数据库,如果不成功则会出现异常
Connection conn = DriverManager.getConnection(url,username,password);
//输出conn引用对象的实际类名
//证明:驱动程序提供了Connection接口的实现类
System.out.println(conn.getClass()); /*创建“语句”对象,执行SQL
* Statement接口
* Statement stmt = conn.createStatement();
* boolean flag = stmt.execute(sql); 什么语句都可以执行,一般执行DDL语句,;
* ResultSet rs = stmt.execute.Query(sql);执行dql语句,selecte,产生结果集;
* int flag = stmt.executeUpdate(sql);执行DML语句,delete,update
*
* 这三方法不要乱用,其实互换使用可以,但不建议;按建议使用方式来;
* */
Statement st = conn.createStatement();
String ddl1 = "CREATE TABLE kwinDemo( " +
" id NUMBER(4) ," +
" name VARCHAR2(40)," +
" gender VARCHAR2(1)" +
")";
boolean b = st.execute(ddl1);
//返回结果:true表示有结果集;false没有结果集;创建失败抛异常;
System.out.println(b); conn.close(); //最后一定要关闭连接 }catch(Exception e) {
e.printStackTrace();
} } }

3.2 执行DML语句,往表里插入数据

package kwin.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement; /**
* 执行DML语句
* @author KwinWei QQ:885251358
*
*/
public class JdbcDemo2 { public static void main(String[] args) {
try{/*注册驱动*/
Class.forName("oracle.jdbc.OracleDriver");
//连接到数据库
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String username = "system";
String password = "root";
Connection conn = DriverManager.getConnection(url,username,password);
//System.out.println(conn.getClass()); //创建Statement
Statement st = conn.createStatement();
//执行DML,插入可以去SQL Dvelopment里查看
String dml = "insert into kwinDemo"
+ "(id,name) values(001,'Tom')";
int n = st.executeUpdate(dml);
System.out.println(n);
//关闭连接
conn.close(); }catch(Exception e) {
e.printStackTrace();
}
} }

Eclipse使用JDBC小案例的更多相关文章

  1. MVC 小案例 -- 信息管理

    前几次更新博客都是每次周日晚上到周一,这次是周一晚上开始写,肯定也是有原因的!那就是我的 Tomact 忽然报错,无法启动,错误信息如下!同时我的 win10 也崩了,重启之后连 WIFI 的标志也不 ...

  2. spring boot入门小案例

    spring boot 入门小案例搭建 (1) 在Eclipse中新建一个maven project项目,目录结构如下所示: cn.com.rxyb中存放spring boot的启动类,applica ...

  3. JSP +MySQL实现网站的登录与注册小案例

    为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下: 用户首次注册功能 用户登录功能 项目目录展示: 下面我将会分模块展示 注册模块 ...

  4. Cookie小案例-----记住浏览过的商品记录

    Cookie小案例------记住浏览过的商品记录 我们知道,这个功能在电商项目中非经常见.这里处理请求和页面显示都是由servlet实现,主要是为了体现cookie的作用, 实现功能例如以下: 1, ...

  5. Session小案例-----简单购物车的使用

    Session小案例-----简单购物车的使用 同上篇一样,这里的处理请求和页面显示相同用的都是servlet. 功能实现例如以下: 1,显示站点的全部商品 2.用户点击购买后,可以记住用户选择的商品 ...

  6. 黑马day14 踢人小案例

    本案例介绍: 使用监听器来实现踢人小案例,仅仅有管理员才有踢人的功能. 1.搭建开发环境,导入本案例须要的jar包.以及一个准备好的数据库工具类:提供数据源的方法...当中我已经在数据库中加入了三个用 ...

  7. Hibernate的介绍及入门小案例

    1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...

  8. 机械表小案例之transform的应用

    这个小案例主要是对transform的应用. 时钟的3个表针分别是3个png图片,通过setInterval来让图片转动.时,分,秒的转动角度分别是30,6,6度. 首先,通过new Date函数获取 ...

  9. shell讲解-小案例

    shell讲解-小案例 一.文件拷贝输出检查 下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息.注意错误信息中basename $0打印脚本名.如 ...

随机推荐

  1. 简单的C#实体映射 AutoMapper

    AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 要映射实体 public class SourceModel { public int ...

  2. python内存回收的问题

    python实际上,对于占用很大内存的对象,并不会马上释放. 举例,a=range(10000*10000),会发现内存飙升一个多G,del a 或者a=[]都不能将内存降下来.. del 可以删除多 ...

  3. About A Scam

    事件起因 本篇记录一个我遇到一个诈骗故事. 这两年我陆续有收到邮件,内容为有一大笔遗产我可以继承,让我提供银行卡号,身份证号相关信息. 后面邮件的内容就变为,有一笔公益款项,可以用我名义去管理,让我提 ...

  4. 一天一个Linux命令--nmcli

    nmcli命令连接和删除SSID nmcli d wifi                                                                        ...

  5. jquery-hide//一段hide代码实现异步隐藏

    (本篇博客没有什么参考价值,只用于自己未来复习.) 说白了就是通过“父亲”实现异步 代码: <!DOCTYPE html> <html> <head> <sc ...

  6. docker容器安装vi (一般容器都是Debian GNU/Linux 9)

    在使用docker容器时,同时你docker里的系统正好是debian或ubuntu的时候,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要 ...

  7. SpringMVC model 多余字段 忽略

    spring-mybaits的model中如何通过注解忽略非数据库字段?——CSDN问答频道https://ask.csdn.net/questions/643534 ObjectMapper忽略多余 ...

  8. [转帖]Oracle 各个版本的升级路线图

    从oracle 7开始(甚至更早版本)到oracle 9iR2. 来源: https://blog.csdn.net/cymm_liu/article/details/11647533 http:// ...

  9. Spring自动注入之@Autowired、@Resource、@Inject

    相同点: 三者都支持对spring bean的自动注入 不同点: ①Autowired按照类型进行注入( Bean bean = applicationContext.getBean(Bean.cla ...

  10. 初探kafka streams

    1.启动zookeeper zkServer.cmd 2.启动kafka kafka-server-start.bat d:\soft\tool\Kafka\kafka_2.12-2.1.0\conf ...