java实现数据库连接,java数据库的连接
首先说明,由于是8版本的数据库,所以配置类的写法上与5版本的有所区别,需要注意,同时用想法或黯然失色时需要导入冲突包,罐子包的下载链接:
德夫街https://号。MySQL。com/get/archives/MySQL-connector-Java-8.0/MySQL-connector-Java-8。0 .28 .活力
如果想要下载8版本不同的冲突包只需要修改8.0.28为指定版本即可。
想法导入冲突包的方法如下:
然后是代码部分,首先先建表:
创建表` train _ message `(` id ` int NOT NULL AUTO _ INCREMENT COMMENT 主键id , train _ name varchar(20)不为空注释列车名, origin varchar(30)不为空注释始发地, terminal varchar(30)不为空注释终到地,`出发时间`时间戳不为空注释出站时间, state varchar(10)字符集 utf8 COLLATE utf8 _ general _ ci NOT NULL DEFAULT 正常评论列车状态,主键(` id `))ENGINE=InnoDB AUTO _ INCREMENT=9 DEFAULT CHARSET=utf8mb 3然后创建连接的配置类DbConfig.java,本地主机是本机的互联网协议(互联网协议的缩写)地址,如果有服务器就填服务器的互联网协议(互联网协议的缩写)地址,消息是数据库的名字,这里一张图说下有很多新手误解的名字
导入Java。SQL。连接;导入Java。SQL。司机经理;导入Java。SQL。SQL异常;/** * 数据库配置类* @作者景苒*/public class DbConfig { public Connection DbConfig()抛出SQLException { try { class。forname( com。MySQL。CJ。JDBC。司机’);} catch(异常e){ system。出去。打印(加载驱动失败!);e . printstacktrace();} String URL= JDBC :我的SQL ://localhost :3306/message?use SSL=false use unicode=true character encoding=utf-8 server time zone=GMT 8 allowpublickeyretrieval=true ;字符串用户= root字符串密码= 123456 ;返回司机经理。getconnection(URL,用户,密码);}}然后写下主函数Main.java,这里主函数的函数体可以在最后再写,需要什么功能就把注释打开就好,快捷注释的方法,选中这句话,按计算机的计算机的ctrl按键按键加/,就能全注释了。
导入Java。SQL。SQL异常;/** * 主函数,调用功能* @作者景苒*/public class Main { public static void Main(String[]args)引发处理
{// new GetMessage().getMessage();// new UpdateTrainState().updateTrainState();// new InsertTrain().insertTrain();// new GetNumber().getNumber(); }}然后是每个的功能:
1.查询沈阳到武汉的所有列车信息,按出发时间先后排序
建GetMessage.java类
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/** * 查询沈阳到武汉的所有列车信息,按出发时间先后排序 * @author 景苒 */public class GetMessage { public void getMessage() throws SQLException { Connection con = new DbConfig().dbConfig(); String sql = "select * from `train_message` where origin = ? and terminal = ? ORDER BY departure_time ASC"; String origin = "沈阳"; String terminal = "武汉"; PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, origin); ps.setString(2, terminal); ResultSet rs = 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 (SQLException e) { e.printStackTrace(); }finally { ps.close(); con.close(); } }}
2.修改T2255列车的状态为停运
建UpdateTrainState.java类
import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;/** * 修改T2255列车的状态为停运 * @author 景苒 */public class UpdateTrainState { public void updateTrainState() throws SQLException { Connection con = new DbConfig().dbConfig(); String sql = "UPDATE `train_message` SET state = 停运 WHERE train_name = T2255"; Statement statement = con.createStatement(); try { int i = statement.executeUpdate(sql); if (i > 0) { System.out.println("更新成功"); }else { System.out.println("更新失败"); } }catch (SQLException e) { e.printStackTrace(); }finally { statement.close(); con.close(); } }}
3.新增一辆列车信息(自己输入)
建InsertTrain.java类
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.Scanner;/** * 新增一辆列车信息(自己输入) * 始发时间为timestamp类型,输入时需要确保格式正确,如:2019-01-01 00:00:00 * @author 景苒 */public class InsertTrain { public void insertTrain() throws SQLException { Connection con = new DbConfig().dbConfig(); Scanner scanner = new Scanner(System.in); String sql = "insert into `train_message` values(null, ?, ?, ?, ?, default)"; System.out.print("请输入列车名:"); String trainName = scanner.nextLine(); System.out.print("请输入始发站:"); String origin = scanner.nextLine(); System.out.print("请输入终到站:"); String terminal = scanner.nextLine(); System.out.print("请输入始发时间:"); String departureTime = scanner.nextLine(); PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, trainName); ps.setString(2, origin); ps.setString(3, terminal); ps.setString(4, departureTime); try { int i = ps.executeUpdate(); if (i > 0) { System.out.println("添加成功"); }else { System.out.println("添加失败"); } }catch (SQLException e) { e.printStackTrace(); }finally { ps.close(); con.close(); } }}
4.查询状态为正常的列车数量
建GetNumber.java类
import java.sql.Statement;/** * 查询状态为正常的列车数量 * @author 景苒 */public class GetNumber { public void getNumber() throws SQLException { Connection con = new DbConfig().dbConfig(); String sql = "select count(state) from `train_message` where state = 正常"; Statement statement = con.createStatement(); try { ResultSet resultSet = statement.executeQuery(sql); while (resultSet.next()) { System.out.println("状态为正常的列车数量为:" + resultSet.getInt(1)); } }catch (SQLException e){ e.printStackTrace(); }finally { statement.close(); con.close(); } }}
最后附上navicat的属性结构图和样例插入的语句
数据根据自己需求自行写入几个就行,以上就是java连接mysql数据库的实例代码,eclipse也大同小异,就导入jar包的方式不同。
到此这篇关于Java连接MySQL数据库实例的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。