在实际应用中,大部分需要使用数据库进行数据查询和操作,因为数据库支持强大的SQL语句,可以进行事务处理等。接下来,我将介绍如何在Java应用程序中使用JDBC提供的API和数据库进行信息传递。首先需要安装MySQl数据库。请参考另一篇文章:在Windows10上安装MySql数据库安装完安装好的数据库,建库建表后,需要通过JDBC对数据库进行操作。Java使用JDBC提供的API来操作数据库,不同数据库的JDBC操作只是连接方式的区别。使用JDBC的应用程序与数据库建立连接后,就可以进行操作了。使用JDBC需要进行以下操作:与数据库建立连接向连接的数据库发送SQL语句处理SQL语句返回的结果MySQL数据库服务启动后,首先要与数据库服务器上的数据库建立连接。Java使用JDBC调用本地的JDBC-databasedriver与相应的数据库建立连接。Java运行环境将JDBC数据库驱动转换为DBMS(数据库管理系统)使用的专用协议,实现与特定DBMS的交互,如下图所示:使用JDBC-数据库驱动与数据库建立连接数据库需要两步:(1)加载JDBC-数据库驱动(2)与指定数据库建立连接首先下载JDBC-MySQL数据库驱动,JDBC下载地址:https://dev.mysql.com/downloads/file/?id=474258。解压下载的zip文件,找到里面的mysql-connector-java-5.1.45-bin.jar文件,复制到JDK扩展目录下,比如我的在D:StudyJava1.8.0jrelibext目录下。同时因为安装JDK的时候会多出一个JRE,***把mysql-connector-java-5.1.45-bin.jar文件复制到那个目录下,我的在D:StudyJRE1.8.0libext目录,并保证及时激活此环境运行程序,也会有需要的驱动程序。接下来就是加载JDBC-MySQL数据库驱动,代码如下:try{Class.forName("com.mysql.jdbc.Driver");}catch(Exceptone){}MySQL数据库驱动封装在驱动类,包名是com.mysql.jdbc,不是Java运行环境类库中的类,所以需要放在jre的扩展目录下。java.sql包中的DriverManager类有两个建立连接的类方法(静态方法):ConnectiongetConnection(java.lang.String,java.lang.String,java.lang.String)ConnectiongetConnection(java.lang.String)在电脑上找到MySQLNotifier并运行,然后在任务栏右击它的图标,选择MySQL57-Stopped-->Start启动数据库,然后打开NavicatforMySQL,打开连接,建立连接后数据库服务器,右击连接名称选择“新建数据库”命令,在弹出的对话框中填写相应的信息,如下图,创建一个名为Study的数据库(NavicatforMySQL见另一篇文章:安装NavicatforMySQL管理MySQL)建立数据库后,在Study下右击“Table”选择“NewTable”,填写对应的列名和列名的各种属性,点击Save,输入表名即可保存,双击表格name,并填写对应的各种信息,新增一行,点击“+”接下来,用小程序测试数据库的查询操作新建一个Java项目,代码如下:importjava.sql.*;publicclassMysqlTest{publicstaticvoidmain(String[]args){//加载JDBC-MySQL驱动程序try{Class.forName("com.mysql.jdbc.Driver");}catch(Exceptione){}//建立连接与数据库,其中ip地址后面的3306是端口号,study是数据库名,再加上用户名和密码等信息//SetuseSSLtotrue//如果表中记录了汉字,请加上characterEncoding参数,取值为gb2312或utf-8Connectioncon=null;Stringuri="jdbc:mysql://192.168.199.240:3306/study?user=root&password=****&useSSL=true&characterEncoding=utf-8";try{con=DriverManager.getConnection(uri);//连接码}catch(SQLExceptione){System.out.println(e);}//发送SQL查询语句到databasetry{Statementsql=con.createStatement();//声明并创建SQL语句对象ResultSetrs=sql.executeQuery("SELECT*FROMtest");//查询测试表System.out.println("查询结果:");while(rs.next()){//循环读取表test每一行的数据并输出Stringnumber=rs.getString(1);Stringname=rs.getString(2);Datedate=rs.getDate(3);floaheight=rs.getFloat(4);System.out.printf("%s",number);System.out.printf("%s",name);System.out.printf("%s",date);System.out.printf("%s",height);System.out.println();}con.close();//关闭数据库连接}catch(SQLExceptione){System.out.println(e);}}}运行这个程序,输出结果如下:至此,Java已经成功连接到MySQL数据库,实现了顺序查询
