走进数据库
导语
首先我想对自己安装的数据库做一个简短的总结。迄今为止,我应该一共安装了四次MYSQL:
- 安装的是8.0的,其实最后为啥不成功我也不太知道了,只知道一直告诉我没有访问权限,然后搞不定;
- 安装的是5.1的,是用MSI文件安装的,就是像一般的APP安装过程一样,由于安装的时候没咋注意,然后安装到了C盘;
- 安装的是5.7的,由于之前安装在C盘的文件没有删掉,所以影响到了我的5.7,最后,我参照网上的操作步骤将注册表啥的,彻底删除了。
- 最后重新安装5.7的,然后成功安装。
数据库驱动
当我们安装好数据库的时候,肯定会在想,怎么在写代码的时候去运用数据库帮助我们存储数据等等操作呢。
那我们就要去想如果让代码驱动数据库了。
驱动数据库步骤
加载驱动
我们会在MYSQL安装的官网上发现,用java驱动的就是最新版8.0的,他上面有相关说明:这个驱动适合xxx版本以上的数据库。
有个注意点就是:Class.forName(“com.mysql.cj.jdbc.Driver”)
8.0的版本的需要加上 cj.
获取连接
Connection connect = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test","root","root"); </font>
连接URL为jdbc:mysql//服务器地址/数据库名(要有创建),后面的2个参数分别是登陆用户名和密码
获取处理sql语句命令对象
Statement stmt = con.createStatement();
执行
ResultSet rs = stmt.executeQuery(sql);
处理结果
关闭资源
//关闭结果集
rs.close();
//关闭操作
stmt.close();
//关闭数据库
con.close();
JDBC
数据库的驱动其实也是用JDBC接口实现的,即对Connection等接口的实现类的jar文件。
JDBC(java data base connectivity),java数据库的连接,是一种用于执行sql语句的java API,可以为多种关系型数据库(如:MYSQL)提供统一的访问。它由一组java语言编写的类和接口组成。
备注:这里我就不过多去讲API是啥啦!但是我给大家推荐一个理解API的好文章:API
JDBC常用接口与类
Connection
数据库连接后,就可以进行数据库的具体操作,要使用Statement
接口完成,此接口可以使用Connection
接口中提供的createStatement()
方法实例化。
Statement
PreparedStatement
是Statement
的子接口,属于预处理操作。与直接使用Statement
不同的是,PreparedStatement
在操作时,是先在数据表中准备好了一条SQL语句,但是此SQL语句的具体内容暂时不设置,而是之后再进行设置。由于PreparedStatement
对象已预编译过,所以其执行速度要高于Statement
对象。在开发中不建议使用Statement
,而是使用PreparedStatement
。
ResultSet
JDBC
的操作中数据库的所有查询记录将使用ResultSet
进行接收,并使用ResultSet
显示内容ResultSet
中的所有数据都可以通过getString()
方法获得。
ResultSet
对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next
方法将光标移动到下一行;因为该方法在 ResultSet
对象没有下一行时返回 false,所以可以在 while
循环中使用它来迭代结果集。
DriverManager
如果数据库驱动程序可以正常加载,就可以利用DriverManager
类连接数据库。在DriverManager
中,提供的主要操作就是得到一个数据库的连接,getConnection()
方法就是取得连接对象,此方法返回的是Connection
对象,不管使用哪种方式连接,都必须提供一个数据库的连接地址。
SQLException
提供关于数据库访问错误或其他错误信息的异常。