概述
JDBC全称Java Data Base Connectivity,java数据库连接,是SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口), 称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc 加载具体的驱动,就可以操作数据库。
编写JDBC代码固定步骤
1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
2、获取与数据库的连接
String username = "root";
String password = "123456";
String url = "jdbc:mysql://localhost:3306/jdbcstudy";
Connection connection = DriverManager.getConnection(url, username, password);
3、获取用于向数据库发送sql语句的statement
String sql = "select id,name,password,email from users";
Statement statement = connection.createStatement();
4、向数据库发sql,并获取代表结果集的resultset
ResultSet resultSet = statement.executeQuery(sql);
5、取出结果集的数据
while(resultSet.next()){
System.out.println(resultSet.getObject("id"));
System.out.println(resultSet.getObject("name"));
System.out.println(resultSet.getObject("password"));
System.out.println(resultSet.getObject("email"));
}
6、关闭链接,释放资源
connection.close();
statement.close();
resultSet.close();
DriverManager类讲解
jdbc中的DriverManager用于加载驱动,并创建与数据库的链接,常用两种方法
1、DriverManager.registerDriver(new Driver());
2、DriverManager.getConnection(url,user,password);
注意:在实际开发中并不推荐使用registDriver方法,原因:1、查看Driver的源码可以看到,采用此种方式,会导致驱动程序注册两次,在内存中会有两个Driver对象。2、程序以来mysql的jar包,脱离jar包,程序将无法编译,将来程序切换底层数据库将会非常麻烦。
推荐采用:Class.forName("com.mysql.jdbc.Driver");
采用此种方式不会导致驱动对象在内存中重复出现,并且采用此种方式,程序仅仅只需要一个字符串, 不需要依赖具体的驱动,使程序的灵活性更高。
数据库URL
URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
jdbc:mysql://localhost:3306/test?参数名:参数值
依次为:协议+子协议+主机:端口+数据库+参数
例:jdbc:mysql://localhost:3306/jdbcstudy
如果连接的是本地的Mysql数据库,并且连接使用的端口是3306 那么的url地址可以简写为: jdbc:mysql:///数据库