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数据库”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。
推荐阅读
-
java fileinputstream中文乱码如何解决
javafileinputstream中文乱码如何解决今天小编给...
-
MySQL索引怎么创建和删除
MySQL索引怎么创建和删除这篇文章主要介绍了MySQL索引怎么创...
-
MySQL查看锁的代码怎么写
MySQL查看锁的代码怎么写本文小编为大家详细介绍“MySQL查看...
-
在 PHP 7 中不要做的 10 件事
1.不要使用MySQL_函数这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP7已经把它们从核心...
-
MySQL体系架构,超详细
-
利用PHP访问MySql数据库以及增删改查实例操作
关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作PHP访问MySql数据库˂?php//造连...
-
密码攻防系列文章6:服务器MySQL账号扫描及攻击
-
计算机毕业设计php创建mysql数据库
-
PHP动态网站设计试题
-
高性能msyql之mysql构架和历史