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打印脚本名.如 ...
随机推荐
- Centos7上搭建redis主从
1. 节点(服务器)数量说明 按照redis官方建议:salve和master的数量按照2n+1台服务器(1台master节点,2n台slave节点) 有兴趣的可以了解下redis的master选举机 ...
- C# -- 使用FileInfo获取文件信息
C# -- 使用FileInfo获取文件信息 1. 代码实现 static void Main(string[] args) { GetFileInfo(@"D:\Test.xlsx&quo ...
- Linux学习之路(三)Shell脚本初探
本文参考链接:http://www.runoob.com/linux/linux-shell.html 基本说明 Shell脚本(shell script)是一种为shell编写的脚本程序.其中she ...
- express+sequelize 做后台
第一部分:安装express 第一步:执行 npm install -g express-generator note:必须安装这个,不然创建express项目的时候会提示express命令没有找到 ...
- android等待对话框
等待对话框,这里有两种方式来实现: ProgressDialog方式 progressDialog初始化 private void initProgressDialog() { progressDia ...
- 宝塔服务器面板 部署 thinkphp5 坑
thinkphp5 在宝塔服务器上部署,出现的问题: 1. File not found. 原因: 宝塔服务器默认不支持 pathinfo 的路径访问:需要在软件 - PHP - 管理里面,安装php ...
- Ubuntu下搭建spark2.4环境(单机版)
说明:单机版的Spark的机器上只需要安装JDK即可,其他诸如Hadoop.Zookeeper(甚至是scala)之类的东西可以一概不安装.集群版搭建:Spark2.2集群部署和配置 一.安装JDK1 ...
- Cookies, Claims and Authentication in ASP.NET Core(转载)
Most of the literature concerning the theme of authentication in ASP.NET Core focuses on the use of ...
- 使用RAP2和Mock.JS实现Web API接口的数据模拟和测试
最近一直在思考如何对Web API的其接口数据进行独立开发的问题,随着Web API的越来越广泛应用,很多开发也要求前端后端分离,例如统一的Web API接口后,Winform团队.Web前端团队.微 ...
- FineUIPro/Mvc/Core v5.4.0即将发布(Core基础版,新功能列表)!
FineUIPro/Mvc/Core v5.4.0 即将于 2019-03-04 发布,目前官网示例已更新,先睹为快:http://pro.fineui.com/http://mvc.fineui.c ...