Eclipse使用JDBC小案例
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小案例的更多相关文章
- MVC 小案例 -- 信息管理
前几次更新博客都是每次周日晚上到周一,这次是周一晚上开始写,肯定也是有原因的!那就是我的 Tomact 忽然报错,无法启动,错误信息如下!同时我的 win10 也崩了,重启之后连 WIFI 的标志也不 ...
- spring boot入门小案例
spring boot 入门小案例搭建 (1) 在Eclipse中新建一个maven project项目,目录结构如下所示: cn.com.rxyb中存放spring boot的启动类,applica ...
- JSP +MySQL实现网站的登录与注册小案例
为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下: 用户首次注册功能 用户登录功能 项目目录展示: 下面我将会分模块展示 注册模块 ...
- Cookie小案例-----记住浏览过的商品记录
Cookie小案例------记住浏览过的商品记录 我们知道,这个功能在电商项目中非经常见.这里处理请求和页面显示都是由servlet实现,主要是为了体现cookie的作用, 实现功能例如以下: 1, ...
- Session小案例-----简单购物车的使用
Session小案例-----简单购物车的使用 同上篇一样,这里的处理请求和页面显示相同用的都是servlet. 功能实现例如以下: 1,显示站点的全部商品 2.用户点击购买后,可以记住用户选择的商品 ...
- 黑马day14 踢人小案例
本案例介绍: 使用监听器来实现踢人小案例,仅仅有管理员才有踢人的功能. 1.搭建开发环境,导入本案例须要的jar包.以及一个准备好的数据库工具类:提供数据源的方法...当中我已经在数据库中加入了三个用 ...
- Hibernate的介绍及入门小案例
1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...
- 机械表小案例之transform的应用
这个小案例主要是对transform的应用. 时钟的3个表针分别是3个png图片,通过setInterval来让图片转动.时,分,秒的转动角度分别是30,6,6度. 首先,通过new Date函数获取 ...
- shell讲解-小案例
shell讲解-小案例 一.文件拷贝输出检查 下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息.注意错误信息中basename $0打印脚本名.如 ...
随机推荐
- Spring Boot使用Maven打包替换资源文件占位符
在Spring Boot开发中,通过Maven构建项目依赖是一件比较舒心的事,可以为我们省去处理冲突等大部分问题,将更多的精力用于业务功能上.近期在项目中,由于项目集成了其他外部系统资源文件,需要根据 ...
- iBatis第五章:事务管理
---------------------------- 1.什么是事务 ------------------------------ 什么是事务? 需要注意的是,事务的概念不是针对某个特定的数据库的 ...
- C++设计模式视频讲解
设计模式(C++) 视频网址: http://www.qghkt.com/ 设计模式(C++)视频地址: https://ke.qq.com/course/318637?tuin=a508ea62 目 ...
- Orchard克死你 之 刚起步
从去年开始,一直想琢磨一个比较灵活的.Net框架用,经一个月的地毯式搜寻,把目标定位到2009年的微软开源项目Orchard,虽然起步甚晚,但对我们这些菜鸟,仍旧是有可学习之处,所以打算花大半年时间想 ...
- 内存与IO的交换【转】
用户进程的内存页分为两种: file-backed pages(文件背景页) anonymous pages(匿名页) 比如进程的代码段.映射的文件都是file-backed,而进程的堆.栈都是不与文 ...
- RC4
RC4(Rivest Cipher 4)是一种流加密算法,密钥长度可变.并且因为加解密时使用的密钥相同,所以也为对称加密.加密过程和解密过程仅明密文的区别. 主要分为初始化 s 盒和伪随机密码生成组成 ...
- mysql中几个日期时间类型之间的区别和使用
MySQL中有如下几个时间类型:date.time.datetime.timestamp.year MySQL数据类型 含义 date 只存 ...
- Storm入门(一)原理介绍
问题导读:1.hadoop有master与slave,Storm与之对应的节点是什么?2.Storm控制节点上面运行一个后台程序被称之为什么?3.Supervisor的作用是什么?4.Topology ...
- 关于vue生命周期
官网给出的实例的生命周期图如下: beforeCreate(页面创建前),created(页面创建后),beforeMount(页面载入前),mounted(页面载入后),beforeUpdate(页 ...
- mysql索引原理
1.B+Tree 索引的数据结果是B+Tree,它比BTree查询时,以更少的IO次数占优势. 2.聚集索引与非聚集索引 聚集索引:索引的逻辑顺序与磁盘上数据的物理顺序相同.(表中最多只有一个) 比如 ...