JDBC:Java DataBase Connectivity,即Java数据库连接;它是一套API,也是一个接口,使用这套API接口可以通过Java代码对数据库进行增删改查等操作;这套API主要依赖两个包:java.sql包和javax.sql包
使用JDBC可以连接任何提供了JDBC驱动的数据库(MySQL、Oracle、SQLServer、DB2等);
数据库驱动Driver:具体的数据库厂商,根据sun公司发布的JDBC这套接口,提供接口的实现类的集合,称之为JDBC驱动。
获取数据库连接后,通过java代码向数据库发送SQL语句,对数据库进行增删改查,是一种面向接口编程的思想。
优势:
(1)对于开发人员,只需要面向JDBC这套接口api编程即可,不再需要关注具体的数据库细节,也不再需要为每一个数据库单独编写不同的程序;
(2)程序具备更好的移植性,只需用JDBC接口写一遍代码就可以在任何平台上运行,也是java语言“write onece,run anywhere”的优势。
目录
1. 在resoureces里添加jdbc.properties配置文件
一、连接MySQL的Java操作:
常规的有5种,这里贴第5种也就是最优化的解,操作平台是IDEA
连接数据库的4个基本信息:url、driverClass(驱动类)、user、password
1. 在resoureces里添加jdbc.properties配置文件
# jdbc:mysql://mysql主机名:3306/库名
url=jdbc:mysql://192.168.5.100:3306/test
# jdbc驱动
driverClass=com.mysql.jdbc.Driver
# mysql用户名和密码
user=root
password=root
2. 编写代码连接MySQL
public class ConnectionTest {
/**
* 将四个基本信息使用配置文件提供
* 好处:将连接所需的基本信息提供在配置文件中,便于维护和修改
* 如果修改配置文件中的配置信息,不需要重写编译代码,只需要修改配置文件
*/
@Test
public void testConnection() throws Exception{
//1. 加载配置文件
Properties pros = new Properties();
InputStream rs = Thread.currentThread().getContextClassLoader().getResourceAsStream("jdbc.properties");
pros.load(rs);
//2. 获取连接所需的四个基本信息
String driverClass = pros.getProperty("driverClass");
String url = pros.getProperty("url");
String user = pros.getProperty("user");
String password = pros.getProperty("password");
//3. 通过反射加载驱动
Class.forName(driverClass);
//4. 获取连接
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
}
}
3. 编写工具类JDBCUtils
目的是将第2步的代码封装成工具类,用的时候简化代码
/**
* 提供数据库连接操作的工具类
*/
public class JDBCUtils {
public static Connection getConnection() throws Exception {
//1. 加载配置文件
Properties pros = new Properties();
InputStream rs = Thread.currentThread().getContextClassLoader().getResourceAsStream("jdbc.properties");
pros.load(rs);
//2. 获取连接所需的四个基本信息
String driverClass = pros.getProperty("driverClass");
String url = pros.getProperty("url");
String user = pros.getProperty("user");
String password = pros.getProperty("password");
//3. 加载驱动
Class.forName(driverClass);
//4. 获取连接
Connection conn = DriverManager.getConnection(url,user,password);
return conn;
}
}
4. 测试连接
public class ConnectionTest {
@Test
public void testGetConnection() throws Exception {
Connection conn = JDBCUtils.getConnection();
System.out.println(conn);
}
}
------------------------------------
com.mysql.jdbc.JDBC4Connection@75828a0f
conn(Connection)就是Java对于MySQL数据库的连接对象,通过conn对象可以继续对数据库的增删改查操作。
二、连接MySQL的shell操作
[kevin@hadoop100 ~]$ mysql -u用户名 -p密码