JDBC(Java DataBase Connectivity):
是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,本文中的代码都是针对MySQL数据库实现的。
2 、概念:
java DataBase Connectivity Java 数据库连接,java语言操作数据库
JDBC本质:其实是官方公司(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
步骤:
1.导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
1.复制mysql-connector-java-5.1.37-bin.jar 到项目的libs目录下
2.右键 —>Add As Library
2.注册驱动
3.获取数据库连接对象Connection
4.定义sql
5.获取执行sql语句对象Statement
6.执行sql,接收返回结果
7.处理结果
8.释放资源
关键字:
user 用户名
password 密码
autoReconnect 联机失败,是否重新联机(true/false)
maxReconnect 尝试重新联机次数
initialTimeout 尝试重新联机间隔
maxRows 传回最大行数
useUnicode 是否使用Unicode字体编码(true/false)
characterEncoding 何种编码(GB2312/UTF-8/…)
relaxAutocommit 是否自动提交(true/false)
capitalizeTypeNames 数据定义的名称以大写表示
使用:
1、使用响应的数据库需要导入专用的jar包
2、初始化驱动
(注意:Class.forName需要捕获ClassNotFoundException.)
try { Class.forName("com.mysql.jdbc.Driver"); #注册驱动
} catch (ClassNotFoundException e) { e.printStackTrace(); }
建立JDBC和数据库之间的Connection连接:
数据库服务端的IP地址:127.0.0.1 (本地计算机)
数据库的端口号: 3307 (mysql专用端口号)
数据库名称 (自己数据库中的名称)
时区:serverTimezone=UTC(本地的)
账号 root
密码
Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3307/数据库名?serverTimezone=UTC", "root", "admin");
Connection是与特定数据库连接回话的接口,使用的时候需要导包,且程序结束的时候将其关闭。getConnection方法也需要捕获SQLException异常。
public static Connection getConnection(){ Connection conn = null; try { //初始化驱动类com.mysql.jdbc.Driver Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezone=UTC" ,"root", "admin");
# 该类就在 mysql-connector-java-5.0.8-bin.jar中,如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException }
catch (ClassNotFoundException e) { e.printStackTrace(); }
catch (SQLException e) { e.printStackTrace(); } return conn; }