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 ...
随机推荐
- 关于Eclipse中使用Maven进行Install安装时候报错Perhaps you are running on a JRE rather than a JDK?解决办法
所遇到的问题: 详情报错: 英文描述: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3. ...
- eh-admin一套前后端一体的轻量级后台管理系统
https://gitee.com/DawnYang/eh-admin 主要技术 后端技术:Spring Boot,Apache Shiro,MyBatis-Plus等: 前端技术:Jquery,La ...
- Linux系统的日志管理、时间同步、延迟命令at
方便查看和管理 /var/log/messages ?系统服务及日志,包括服务的信息,报错等等 /var/log/secure ? ? ? ? 系统认证信息日志 /var/log/maillog ? ...
- 用GUI实现java版贪吃蛇小游戏
项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public static void main(String[] args) { JFrame jFr ...
- 从零开始实现简单 RPC 框架 7:网络通信之自定义协议(粘包拆包、编解码)
当 RPC 框架使用 Netty 通信时,实际上是将数据转化成 ByteBuf 的方式进行传输. 那如何转化呢?可不可以把 请求参数 或者 响应结果 直接无脑序列化成 byte 数组发出去? 答:直接 ...
- linux系统配置本地yum源
1. 前言 学习Linux系统需要大量的实验,而每次安装系统和准备安装系统后的基础配置比较耗时费力.如果在生产环境中,遇到内网(无法访问互联网)情况下,就需要利用挂载的ISO文件内的Packages中 ...
- adb 常用命令大全(5)- 日志相关
前言 Android 系统的日志分为两部分 底层的 Linux 内核日志输出到 /proc/kmsg Android 的日志输出到 /dev/log 语法格式 adb logcat [<opti ...
- Java日期时间API系列42-----一种高效的中文日期格式化和解析方法
中文日期(2021年09月11日 和 二〇二一年九月十一日 )在生活中经常用到,2021年09月11日很好处理直接使用模板:yyyy年MM月dd日:二〇二一年九月十一日比较不好处理,需要每个数字进行转 ...
- 第23篇-虚拟机对象操作指令之getstatic
Java虚拟机规范中定义的对象操作相关的字节码指令如下表所示. 0xb2 getstatic 获取指定类的静态域,并将其值压入栈顶 0xb3 putstatic 为指定的类的静态域赋值 0xb4 ge ...
- Spring5(六)——AspectJ(xml)
一.AspectJ 1.介绍 AspectJ是一个面向切面的框架,它扩展了Java语言.AspectJ定义了AOP语法,也可以说 AspectJ 是一个基于 Java 语言的 AOP 框架.通常我们在 ...