먼저 데이터베이스 버전 8이므로 구성 클래스 작성 방법이 버전 5와 다릅니다. idea나 eclipse를 동시에 사용하는 경우에는 jar 패키지를 import해야 한다는 점에 유의하세요
버전 8용 다른 jar 패키지를 다운로드하려면 8.0.28을 지정된 버전으로 수정하면 됩니다. jar 패키지를 가져오는
아이디어 방법은 다음과 같습니다.
그런 다음 코드 부분이 나오고 먼저 테이블을 만듭니다.
CREATE TABLE `train_message` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键id', `train_name` varchar(20) NOT NULL COMMENT '列车名', `origin` varchar(30) NOT NULL COMMENT '始发地', `terminal` varchar(30) NOT NULL COMMENT '终到地', `departure_time` timestamp NOT NULL COMMENT '出站时间', `state` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '正常' COMMENT '列车状态', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3
그런 다음 연결된 구성을 만듭니다. class DbConfig.java, localhost는 로컬 머신의 IP 주소입니다. 서버가 있는 경우 서버의 IP 주소를 입력하세요. 메시지는 많은 초보자들이 오해하는 이름을 보여줍니다. 그런 다음 주요 함수 Main .java를 작성하고 여기에 주요 함수의 함수 본문을 마지막에 작성할 수 있습니다. 필요한 기능이 있으면 주석을 열면 됩니다. 빠른 주석 방법을 보려면 이 문장을 선택하고 Ctrl을 누르고 /를 추가하세요. 그리고 당신은 모든 것에 댓글을 달 수 있습니다.
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * 数据库配置类 * @author 景苒 */ public class DbConfig { public Connection dbConfig() throws SQLException { try { Class.forName("com.mysql.cj.jdbc.Driver"); }catch (Exception e) { System.out.print("加载驱动失败!"); e.printStackTrace(); } String url = "jdbc:mysql://localhost:3306/message?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"; String user = "root"; String password = "123456"; return DriverManager.getConnection(url, user, password); } }
각각의 기능은 다음과 같습니다.
1. 출발 시간별로 정렬된 선양에서 우한까지의 모든 열차 정보를 쿼리합니다.GetMessage.java 클래스를 빌드합니다.
import java.sql.SQLException; /** * 主函数,调用功能 * @author 景苒 */ public class Main { public static void main(String[] args) throws SQLException { // new GetMessage().getMessage(); // new UpdateTrainState().updateTrainState(); // new InsertTrain().insertTrain(); // new GetNumber().getNumber(); } }
2 T2255 열차의 상태를 out of로 수정합니다. service
UpdateTrainState.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(); } } }
InsertTrain.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(); } } }
GetNumber. java class
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(); } } }
위 내용은 Java에서 MySQL 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!