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 ...
随机推荐
- SpringBoot快速入门(必知必会)
是什么?能做什么 SpringBoot必知必会 是什么?能做什么 SpringBoot是一个快速开发脚手架 快速创建独立的.生产级的基于Spring的应用程序 SpringBoot必知必会 快速创建应 ...
- 面向对象之编写驱动程序--中断(linux系统、s3c6410开发板)
/*------------------------- *先申明下,本人是个菜鸟,刚开始接触驱动程序编写,交代下开发环境(主机系统redhat6.3,开发板ARM-s3c6410) 以watchdog ...
- jQuery中获取属性值:attr()、html()、text()、val()等(一)
<!DOCTYPE html> <html> <head> <title>01_basic.html</title> <meta na ...
- PyTorch安装及试用 基于Anaconda3
设置Torch国内镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ ...
- 分享几个下载豆瓣资源的chrome插件
最近chrome终于以4.69%的市场占有率击败firefox成为中国第二大浏览器.(第一当然是争霸宇宙的IE了) 虽然chrome官方应用程序商店有不少豆瓣的辅助插件,但大多没什么用.属于蛋疼插件. ...
- C++模板简介
模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数.返回值取得任意类型. 模板是一种对类型进行参数化的工具: 通常有两种形式:函 ...
- Mysql主从复制、半同步复制、并行复制
MySQL之间数据复制的基础是二进制日志文件(binary log file).一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以"事件"的方 ...
- Node.js 应用全链路追踪技术——[全链路信息获取]
全链路追踪技术的两个核心要素分别是 全链路信息获取 和 全链路信息存储展示. Node.js 应用也不例外,这里将分成两篇文章进行介绍:第一篇介绍 Node.js 应用全链路信息获取, 第二篇介绍 N ...
- 【良心保姆级教程】java手把手教你用swing写一个学生的增删改查模块
很多刚入门的同学,不清楚如何用java.swing去开发出一个系统? 不清楚如何使用java代码去操作数据库进行增删改查一些列操作,不清楚java代码和数据库(mysql.sqlserver)之间怎么 ...
- 在开发中使用GMap.Net 控件的心得一
首先必须先加载GMap.Net这个控件,先通过"添加引用"来加载相应的.dll文件,如果在工具箱中找不到GMapControl这个控件,也别心急. 点击"工具" ...