1.JDBC编程六步走以及实现案例
1.注册驱动:通知Java程序我们要连接的是哪个品牌的数据库
2.获取数据库连接:Java进程和Mysql进程之间的通道开启了
3.获取数据库操作对象:这个对象是用来执行sql语句的
4.执行SQL语句:对数据库进行CRUD(增删改查)操作
5.处理查询结果集:如果第四步有select语句才有这一步
6.释放资源:关闭所有资源
例1:不带处理查询结果集的JDBC
1 package com.xiaoma.JDBC;
2
3 import java.sql.*;
4
5 public class TestJDBC {
6 public static void main(String[] args) throws SQLException {
7 //1.注册驱动
8 com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
9 DriverManager.registerDriver(driver);
10 //2.获取数据库连接对象
11 String url="jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
12 String username="root";
13 String password="123456";
14 Connection conn=DriverManager.getConnection(url,username,password);
15 System.out.println(conn);
16 //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
17 Statement statement = conn.createStatement();
18 //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
19 //String InsertSql="insert into people(name,age,address) values('小马',18,'山东省')";
20 String DeleteSql="delete from people where name='小马'";
21 //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
22 int i = statement.executeUpdate(DeleteSql);
23 System.out.println(i);
24 //5.释放资源,先释放statement再释放connection
25 if (statement != null) {
26 statement.close();
27 }
28 if (conn != null){
29 conn.close();
30 }
31 }
32 }
例2:带处理查询结果集的JDBC
1 package com.xiaoma.JDBC;
2
3 import java.sql.*;
4
5 public class TestJDBC02 {
6 public static void main(String[] args) throws SQLException {
7 //1.注册驱动
8 com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
9 DriverManager.registerDriver(driver);
10
11 //2.获取数据库连接对象
12 String url="jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
13 String username="root";
14 String password="123456";
15 Connection conn=DriverManager.getConnection(url,username,password);
16 System.out.println(conn);
17
18 //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
19 Statement statement = conn.createStatement();
20
21 //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
22 String SeleteSql="select * from people";
23 //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
24 ResultSet resultSet = statement.executeQuery(SeleteSql);
25
26 //5.处理查询结果集
27 while(resultSet.next()){
28 //这个getString()方法是不管数据库中的值是什么类型的,他都会以String类型返回
29 //getString()是通过下标取值的,默认都是以字符串类型取出,可以通过相应类型的get方法取出特定类型的值
30 System.out.println(resultSet.getString(1));
31 System.out.println(resultSet.getString(2));
32 System.out.println(resultSet.getString(3));
33 System.out.println(resultSet.getString(4));
34 }
35
36 //6.释放资源,先释放statement再释放connection
37 if (statement != null) {
38 statement.close();
39 }
40 if (conn != null){
41 conn.close();
42 }
43 if(resultSet!=null){
44 resultSet.close();
45 }
46 }
47 }
例3:将数据库连接信息写到properties配置文件中,通过读取properties配置文件连接数据库,进行查询(做开发基本上都用这种方式)
1 package com.xiaoma.JDBC;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.sql.*;
6 import java.util.Properties;
7 import java.util.ResourceBundle;
8
9 //读取配置文件
10 public class TestJDBC03 {
11 public static void main(String[] args) throws SQLException, IOException {
12 //获取配置文件数据
13 InputStream is=TestJDBC03.class.getClassLoader().getResourceAsStream("db.properties");
14 Properties pro=new Properties();
15 pro.load(is);
16 String username= pro.getProperty("username");
17 String password=pro.getProperty("password");
18 String url=pro.getProperty("url");
19
20 //1.注册驱动
21 com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
22
23 //2.获取数据库连接对象
24
25 Connection conn=DriverManager.getConnection(url,username,password);
26 System.out.println(conn);
27
28 //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
29 Statement statement = conn.createStatement();
30
31 //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
32 String SeleteSql="select * from people";
33 //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
34 ResultSet resultSet = statement.executeQuery(SeleteSql);
35
36 //5.处理查询结果集
37 while(resultSet.next()){
38 //这个getString()方法是不管数据库中的值是什么类型的,他都会以String类型返回
39 //getString()是通过下标取值的,默认都是以字符串类型取出,可以通过相应类型的get方法取出特定类型的值
40 System.out.println(resultSet.getString(1));
41 System.out.println(resultSet.getString(2));
42 System.out.println(resultSet.getString(3));
43 System.out.println(resultSet.getString(4));
44 }
45
46 //6.释放资源,先释放statement再释放connection
47 if (statement != null) {
48 statement.close();
49 }
50 if (conn != null){
51 conn.close();
52 }
53 if(resultSet!=null){
54 resultSet.close();
55 }
56 }
57 }
1.JDBC编程六步走以及实现案例的更多相关文章
- JDBC编程六部曲
今天初学jdbc,明白了大致的编程流程,在此总结一下: JDBC编程可以分为六步——六部曲: * 第一步:注册驱动. * 1.1 获取驱动对象 * 1.2 注册驱动 * 第二步:获取数据库连接 * 第 ...
- MySQL之JDBC编程增删改查
MySQL之JDBC 一.JDBC是什么 Java DatabaseConnectivity (java语言连接数据库) 二.JDBC的本质 JDBC是SUN公司制定的一套接口(interface). ...
- java JDBC编程流程步骤
JDBC:Java Data Base Connection JDBC是用于运行sql语句并从数据库中获取新新的java API. JDBC是用来(让我们的程序)通过网络来操作数据库的,作用非常重要: ...
- JDBC编程步奏、问题总结(一)
jdbc编程步骤: 1. 加载数据库驱动 2. 创建并获取数据库链接 3. 创建jdbc statement对象 4. 设置sql语句 5. 设置sql语句中的参数(使用preparedStateme ...
- 【JAVA EE企业级开发四步走完全攻略】
本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划,单个发blog比较零散,所以整理此索引,决定以后每发一季JAVA EE blog后会 ...
- JAVA EE企业级开发四步走完全攻略 [转]
http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...
- JDBC编程之预编译SQL与防注入式攻击以及PreparedStatement的使用教程
转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/5876951.html 在JDBC编程中,常用Statement.PreparedStatement 和 ...
- 第十三章.MySQL数据库与JDBC编程(下)
JDBC的典型用法: JDBC4.2常用接口和类简介: DriverManager:用于管理JDBC驱动的服务类,程序中使用该类的主要功能是获取Connection对象,该类包含如下方法: publi ...
- Java基础教程:JDBC编程
Java基础教程:JDBC编程 1.什么是JDBC JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库. JDBC A ...
随机推荐
- Oracle插入中文乱码问题
PLSQL执行一条插入代码,两个字符既显示超长,一个字符插入后乱码 insert into person (pid, pname) values (1,'明'); Google查询说原因是Oracle ...
- Java事件模型
1 import javax.swing.*; 2 import java.awt.event.*; 3 public class TestSourceListener { 4 5 public st ...
- java发送短信开发,第三方接口方法
必备的三个jar包Maven有自己去下: commons-logging commons-logging 1.1 commons-httpclient commons-httpclient 3.1 c ...
- 手撕LRU缓存
面试官:来了,老弟,LRU缓存实现一下? 我:直接LinkedHashMap就好了. 面试官:不要用现有的实现,自己实现一个. 我:..... 面试官:回去等消息吧.... 大家好,我是程序员学长,今 ...
- GUI实现超简单的计算器
计算器样式 实现代码 //实现超简易的计算器 public class Test02 { public static void main(String[] args) { Counter counte ...
- GUI容器之Panel
Panel //panel可以看成是一个空间,但不能单独存在 public class MyPanel { public static void main(String[] args) { Frame ...
- [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎
[源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 目录 [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 0x00 摘要 0x01 前言 1.1 ...
- DPDK应用示例指南简介(汇总)
DPDK应用示例指南简介 <DPDK示例>系列文章主要是学习.记录.翻译DPDK官方示例文档.为了更好地理解和学习DPDK, 特通过对源码中的经典示例进行整理,供大家学习.交流和讨论. A ...
- 排查dubbo接口重复注销问题,我发现了一个巧妙的设计
背景 我在公司内负责自研的dubbo注册中心相关工作,群里经常接到业务方反馈dubbo接口注销报错.经排查,确定是同一个接口调用了两次注销接口导致,由于我们的注册中心注销接口不能重复调用,调用第二次会 ...
- scrum项目冲刺_day11 第一阶段总结
"智能垃圾分类APP"第一阶段总结 总任务: 一.appUI页面(已完成) 二.首页功能: 1.图像识别功能(已完成) 2.语音识别功能(已完成) 3.垃圾搜索功能(基本完成) 4 ...