通过驱动连接mysql数据库,驱动得跟源码在一块,如图
先分析这句
3306 是本地端口 students是要连接的数据库
的名字
账号和密码,之前已经设置
接下来分析这个数据库内容:
这个要查的表是 mess,然后mess有四个字段分别是:number(字符型);name(字符型);date(日期类型);height(float浮点型);
接下来我们根据这些数据来建数据库和表
插入数据:
接下来就是运行程序:
如果使用的jdk是jdk18(非1.8),由于jdk18为广泛兼容汉字等编码,故默认为utf-8格式,ANSI需修改
注意:
(1) 用记事本编写代码在终端运行时需要带上驱动包,若用eclipse或idea等集成开发环境时可一次导入即可。终端运行时的命令:java -cp mysql-connector-java-8.0.29.jar; 主类
(2) 驱动版本要和MySQL版本一致,相关版本可在MySQL官网查询
一个典型的错误:
在日常编代码时候,要注意后缀,后缀要调出来,这种情况就是没有带后缀名
再次运行
运行主类的命令:java -cp mysql-connector-java-8.0.29.jar; Example11_1(主类)
换成别的数据库查询,编写一个新的代码
文件为fruit.java
代码如下:
import java.sql.*; public class fruit { public static void main(String args[]) { Connection con=null; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.jdbc.Driver"); //加载JDBC_MySQL驱动 } catch(Exception e){} String uri = "jdbc:mysql://localhost:3306/水果店?useSSL=true"; String user ="root"; String password ="123456"; try{ con = DriverManager.getConnection(uri,user,password); //连接代码 } catch(SQLException e){ } try { sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM fruit"); //查询mess表 while(rs.next()) { String name=rs.getString(1); Stringplace=rs.getString(2); //Date date=rs.getDate(3); float price=rs.getFloat(3); System.out.printf("%s\t",name); System.out.printf("%s\t",place); //System.out.printf("%s\t",date); System.out.printf("%.2f\n",price); } con.close(); } catch(SQLException e) { System.out.println(e); } } }
运行一下:
结果一致!
如图片失效等问题请参阅公众号文章:https://mp.weixin.qq.com/s/1aOoV_6I21JuIfdaaW3UJQ