JDBC-使用Java连接数据库-基础篇
这是小主第一次写Java连接数据库博客,初学Java之时,Java连接数据库是我最头疼的,不过经过一个月的学习,也差不多略有收获,所以给大家分享一下。
Java连接数据库大约需要五大步骤:
- 创建数据库驱动
- 使用驱动获取数据库链接
- 创建传输器
- 使用传输器执行SQL,并返回结果
- 处理结果集
- 关闭资源
Java连接数据库主要使用的包分别是:
- java.sql 基础包
- java.sqlx 扩展包
代码实现:
package a.li.ba.ba.select; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class Java_Connection_MySQL { private static Connection conn;
// 链接
private static Statement stat;
// 传输器
private static ResultSet rs;
// 结果集
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库驱动
conn = DriverManager.getConnection("jdbc:mysql://主机名/数据库名称", "用户名", "密码");
// 利用驱动获取链接
stat = conn.createStatement();
// 使用链接创建传输器
rs = stat.executeQuery("查询SQL,结尾不需要使用 ; ");
// 使用传输器执行SQL,并返回结果
while (rs.next()) {
// 处理结果集
Type 名称 = rs.getType("index");
Type 名称 = rs.getType("对应列数");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
// 关闭资源,先开启的后关闭,后开启的先关闭
rs.close();
// 关闭最后开启的结果集
stat.close();
// 关闭中间开启的传输器对象
conn.close();
// 关闭数据库链接
}
} }
注意事项:
- 连接数据库需要JDBC的驱动包,需要的可以给我下方留言
- 所有的对象都属于java.sql包下,导错包是无法执行的
- 对象设置为成员静态,因为下方需要使用finally关闭所有的链接和资源
- 先开启的后关闭,后开启的先关闭,硬性规定
- 需要进阶版的可以在下方留言
JDBC-使用Java连接数据库-基础篇的更多相关文章
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
- java 线程基础篇,看这一篇就够了。
前言: Java三大基础框架:集合,线程,io基本是开发必用,面试必问的核心内容,今天我们讲讲线程. 想要把线程理解透彻,这需要具备很多方面的知识和经验,本篇主要是关于线程基础包括线程状态和常用方法. ...
- Java编程基础篇第一章
计算机语言 人与计算机交流的方式. 计算机语言有很多种如:C语言,c++,Java等 人机交互 软件的出现实现了人与计算机之间的更好的交流(交互) 交互方式 图形化界面:便于交互,容易操作,简单直观, ...
- java面试基础篇(三)
1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些 ...
- java面试基础篇(二)
上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) ...
- 新年在家学java之基础篇-高级类的特性
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...
- 新年在家学java之基础篇--循环&数组
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...
- JAVA格物致知基础篇:用JAX-RS和Jersey打造RESTful Service
随着服务器的处理能力越来越强,业务需求量的不断累积,越来越多的公司开始从单一服务器,单一业务承载变成了多服务器,多业务承载的快速扩展的过程中.传统的方法很难满足和应付这种业务量的增长和部署方式的改变. ...
- java 开发基础篇1环境安装--eclipse安装教程
如何安装java环境 http://jingyan.baidu.com/article/a24b33cd59b58e19fe002bb9.html JDK download http://www.or ...
随机推荐
- springboot启动总是启动不起来UnsatisfiedDependencyException异常
采用debug模式启动总是停留在 点击后: 鼠标放在ex上: org.springframework.beans.factory.UnsatisfiedDependencyException: Err ...
- mongodb - schema中格式时间
date:{ type: String, default: () => moment(new Date()).format('YYYY-MM-DD HH:mm:ss'), ...
- Flask—路由的注册方法
第一种注册方法 from flask import Flask app = Flask(__name__) @app.route("/hello") # 第一种注册方法 def h ...
- 【iOS】Swift4.0 GCD的使用笔记
https://www.jianshu.com/p/47e45367e524 前言 在Swift4.0版本中GCD的常用方法还是有比较大的改动,这里做个简单的整理汇总. GCD的队列 队列是一种遵循先 ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 数字
下面是一个 C++ 中定义各种类型数字的综合实例: #include <iostream> using namespace std; int main () { // 数字定义 short ...
- mysql 深度分页
mysql 分页查询使我们常见的需求 ,但是随着页数的增加查询性能会逐渐下降,尤其是到深度分页的情况.我们可以把分页分为两个步骤,1.定位偏移量,2.获取分页条数的 数据. 所以当数据较大页数较深时 ...
- 第四篇Django之模板语言
Django之模板语言 一 模板的执行 模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户 def current_da ...
- HDU - 6025 Coprime Sequence(前缀gcd+后缀gcd)
题意:去除数列中的一个数字,使去除后数列中所有数字的gcd尽可能大. 分析:这个题所谓的Coprime Sequence,就是个例子而已嘛,题目中没有任何语句说明给定的数列所有数字gcd一定为1→_→ ...
- 量化投资_Multicharts数组操作函数_append()追加函数(自定义)
1. Multicharts中关于数组的操作比较麻烦,而且当中所谓的动态数组的定义并不是像其他语言那种的概念.因此要对数组进行元素“”追加“”的话,需要重新更改数组的索引,然后再最后一个位置添加val ...
- 安装kubernetes遇见coredns坑
安装kubernetes遇见问题 kubectl describe pod coredns -n kube-system, 查看发现coredns readiness 一直unhealthy, 并且一 ...