MySQL初阶:JDBC
JDBC前了解知识
JDBC编程就是使用JAVA代码操作MySQL数据库。
数据库编程:就是数据库提供了一组API供程序员使用。
API(Application programming interface):就是提供了一组函数/类,供我们调用,不同的数据库提供的API也是不同的。
因此如果要操作不同的数据库就要学习多套API,为了方便JAVA提供了一套API,让数据库们都要和JAVA的API对接上,这样我们只要学习JAVA提供的API就可以进行操作数据库了。
数据库并非单独提供一套API,而是通过驱动程序(类似于转接口)将数据库的原生API转换成符合JAVA要求的API。
JDBC准备过程
要先下载MySQL的驱动包,将驱动包引入到项目里面(中央仓库)。
1)先将在中央仓库里下载的.jar的驱动包复制
2)创建一个项目,再创建一个新目录,将.jar复制到项目目录中
3)将目录转换成库目录
JDBC操作
1)先创建一个数据源Datasource
这一步是在确立数据库服务器的位置。
因为Datasource是一个interfaces所以是创建一个MysqlDatasource实例(向上转型):
2)设置网址,数据库密码,数据库用户名
通过dataSource对象直接调用找到在网络上的位置setUrl(网址),setUser用户名,setpassword数据库密码。
jdbc:mysql :是指Url是给jdbc操作mysql用的,如果操作oracle数据库,就要使用jdbc:oracle。
127.0.0.0 : 是网络上描述一台主机所在的位置(IP地址),这里是环回地址(loopback),指发送给自己的地址。
3306:端口号,具体到发送给哪个程序。
补充:下面会将dataSource强转为MysqlDataSource(向下转型),这是因为在使用这个对象的时候,防止MysqlDataSource这个Mysql中的类扩散到下面的代码中,如果我们要进行更换数据库时就可以只将MysqlDataSource这个类进行更换,这样降低了代码的耦合,符合我们高内聚低耦合的原则。
当然我们也可以在创建数据源的时候就将创建的对象设为MysqlDataSource类型。
3)建立与数据库的连接
4)构造sql
这里我们先写一个字符串类型的sql语句,然后创建一个preparedstatement对象,接受一个预处理好的sql语句,在客户端就完成对sql语句的检查,减少服务器不必要的压力。
我们可以通过scanne让用户进行输入值,然后构造出sql进行插入,先使用?占位符,使用statement的set方法进行赋值。
5)把sql发给服务器
返回的整数是影响到的行数。
查询操作:
使用的是executeQuery,返回值是一个结果集Resultset,对结果集进行遍历,每一次j.next是取出一行记录,使用getInt等方法取出每一列。
6)执行完毕,关闭连接,释放资源
程序通过代码与服务器进行通信,要消耗一定的硬件和软件资源,当通信结束时,需要将这些资源释放。
关闭的顺序是后创建的先关闭,先创建的后关闭