Java怎么连接MySQL数据库

Java怎么连接MySQL数据库

今天小编给大家分享一下Java怎么连接MySQL数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

首先说明,由于是8版本的数据库,所以配置类的写法上与5版本的有所区别,需要注意,同时用idea或eclipse时需要导入jar包

如果想要下载8版本不同的jar包只需要修改8.0.28为指定版本即可。

idea导入jar包的方法如下:

然后是代码部分,首先先建表:

CREATETABLE`train_message`(`id`intNOTNULLAUTO_INCREMENTCOMMENT'主键id',`train_name`varchar(20)NOTNULLCOMMENT'列车名',`origin`varchar(30)NOTNULLCOMMENT'始发地',`terminal`varchar(30)NOTNULLCOMMENT'终到地',`departure_time`timestampNOTNULLCOMMENT'出站时间',`state`varchar(10)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLDEFAULT'正常'COMMENT'列车状态',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=9DEFAULTCHARSET=utf8mb3

然后创建连接的配置类DbConfig.java,localhost是本机的ip地址,如果有服务器就填服务器的ip地址,message是数据库的名字,这里一张图说下有很多新手误解的名字

importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;/***数据库配置类*@author景苒*/publicclassDbConfig{publicConnectiondbConfig()throwsSQLException{try{Class.forName("com.mysql.cj.jdbc.Driver");}catch(Exceptione){System.out.print("加载驱动失败!");e.printStackTrace();}Stringurl="jdbc:mysql://localhost:3306/message?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true";Stringuser="root";Stringpassword="123456";returnDriverManager.getConnection(url,user,password);}}

然后写下主函数Main.java,这里主函数的函数体可以在最后再写,需要什么功能就把注释打开就好,快捷注释的方法,选中这句话,按ctrl加/,就能全注释了。

importjava.sql.SQLException;/***主函数,调用功能*@author景苒*/publicclassMain{publicstaticvoidmain(String[]args)throwsSQLException{//newGetMessage().getMessage();//newUpdateTrainState().updateTrainState();//newInsertTrain().insertTrain();//newGetNumber().getNumber();}}

然后是每个的功能:

1.查询沈阳到武汉的所有列车信息,按出发时间先后排序

建GetMessage.java类

importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;/***查询沈阳到武汉的所有列车信息,按出发时间先后排序*@author景苒*/publicclassGetMessage{publicvoidgetMessage()throwsSQLException{Connectioncon=newDbConfig().dbConfig();Stringsql="select*from`train_message`whereorigin=?andterminal=?ORDERBYdeparture_timeASC";Stringorigin="沈阳";Stringterminal="武汉";PreparedStatementps=con.prepareStatement(sql);ps.setString(1,origin);ps.setString(2,terminal);ResultSetrs=ps.executeQuery();try{while(rs.next()){System.out.println("列车名:"+rs.getString("train_name")+"始发站:"+rs.getString("origin")+"终到站:"+rs.getString("terminal")+"出发时间:"+rs.getString("departure_time")+"列车状态:"+rs.getString("state"));}}catch(SQLExceptione){e.printStackTrace();}finally{ps.close();con.close();}}}

2.修改T2255列车的状态为停运

建UpdateTrainState.java类

importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.Statement;/***修改T2255列车的状态为停运*@author景苒*/publicclassUpdateTrainState{publicvoidupdateTrainState()throwsSQLException{Connectioncon=newDbConfig().dbConfig();Stringsql="UPDATE`train_message`SETstate='停运'WHEREtrain_name='T2255'";Statementstatement=con.createStatement();try{inti=statement.executeUpdate(sql);if(i>0){System.out.println("更新成功");}else{System.out.println("更新失败");}}catch(SQLExceptione){e.printStackTrace();}finally{statement.close();con.close();}}}

3.新增一辆列车信息(自己输入)

建InsertTrain.java类

importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjava.util.Scanner;/***新增一辆列车信息(自己输入)*始发时间为timestamp类型,输入时需要确保格式正确,如:2019-01-0100:00:00*@author景苒*/publicclassInsertTrain{publicvoidinsertTrain()throwsSQLException{Connectioncon=newDbConfig().dbConfig();Scannerscanner=newScanner(System.in);Stringsql="insertinto`train_message`values(null,?,?,?,?,default)";System.out.print("请输入列车名:");StringtrainName=scanner.nextLine();System.out.print("请输入始发站:");Stringorigin=scanner.nextLine();System.out.print("请输入终到站:");Stringterminal=scanner.nextLine();System.out.print("请输入始发时间:");StringdepartureTime=scanner.nextLine();PreparedStatementps=con.prepareStatement(sql);ps.setString(1,trainName);ps.setString(2,origin);ps.setString(3,terminal);ps.setString(4,departureTime);try{inti=ps.executeUpdate();if(i>0){System.out.println("添加成功");}else{System.out.println("添加失败");}}catch(SQLExceptione){e.printStackTrace();}finally{ps.close();con.close();}}}

4.查询状态为正常的列车数量

建GetNumber.java类

importjava.sql.Statement;/***查询状态为正常的列车数量*@author景苒*/publicclassGetNumber{publicvoidgetNumber()throwsSQLException{Connectioncon=newDbConfig().dbConfig();Stringsql="selectcount(state)from`train_message`wherestate='正常'";Statementstatement=con.createStatement();try{ResultSetresultSet=statement.executeQuery(sql);while(resultSet.next()){System.out.println("状态为正常的列车数量为:"+resultSet.getInt(1));}}catch(SQLExceptione){e.printStackTrace();}finally{statement.close();con.close();}}}

最后附上navicat的属性结构图和样例插入的语句

数据根据自己需求自行写入几个就行,以上就是java连接mysql数据库的实例代码,eclipse也大同小异,就导入jar包的方式不同。

以上就是“Java怎么连接MySQL数据库”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。

发布于 2022-04-11 21:18:30
收藏
分享
海报
0 条评论
34
上一篇:Android中如何实现activity与fragment间的通信 下一篇:vue怎么实现动态列表尾部添加数据执行动画
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码