찾다
데이터 베이스MySQL 튜토리얼Java连接MySQL数据库及简单操作代码_MySQL

1.Java连接MySQL数据库

Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下:

“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:/MySQL-connector-java-5.0.5/MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。

package hqs;import java.sql.*;public class DataBasePractice {	public static void main(String[] args) {		//声明Connection对象		Connection con;		//驱动程序名		String driver = "com.mysql.jdbc.Driver";		//URL指向要访问的数据库名mydata		String url = "jdbc:mysql://localhost:3306/mydata";		//MySQL配置时的用户名		String user = "root";		//MySQL配置时的密码		String password = "root";		//遍历查询结果集		try {			//加载驱动程序			Class.forName(driver);			//1.getConnection()方法,连接MySQL数据库!!			con = DriverManager.getConnection(url,user,password);			if(!con.isClosed())				System.out.println("Succeeded connecting to the Database!");			//2.创建statement类对象,用来执行SQL语句!!			Statement statement = con.createStatement();			//要执行的SQL语句			String sql = "select * from student";			//3.ResultSet类,用来存放获取的结果集!!			ResultSet rs = statement.executeQuery(sql);			System.out.println("-----------------");			System.out.println("执行结果如下所示:");			System.out.println("-----------------");			System.out.println(" 学号" + "/t" + " 姓名");			System.out.println("-----------------");						String name = null;			String id = null;			while(rs.next()){				//获取stuname这列数据				name = rs.getString("stuname");				//获取stuid这列数据				id = rs.getString("stuid");				//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。				//然后使用GB2312字符集解码指定的字节数组。				name = new String(name.getBytes("ISO-8859-1"),"gb2312");				//输出结果				System.out.println(id + "/t" + name);			}			rs.close();			con.close();		} catch(ClassNotFoundException e) { 			//数据库驱动类异常处理			System.out.println("Sorry,can`t find the Driver!"); 			e.printStackTrace(); 			} catch(SQLException e) {			//数据库连接失败异常处理			e.printStackTrace();			}catch (Exception e) {			// TODO: handle exception			e.printStackTrace();		}finally{			System.out.println("数据库数据成功获取!!");		}	}}

2.添加、修改、删除操作

在上面while代码段后面添加以下代码段:

String name = null;			String id = null;			while(rs.next()){				//获取stuname这列数据				name = rs.getString("stuname");				//获取stuid这列数据				id = rs.getString("stuid");				//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。				//然后使用GB2312字符集解码指定的字节数组。				name = new String(name.getBytes("ISO-8859-1"),"gb2312");				//输出结果				System.out.println(id + "/t" + name);			}											PreparedStatement psql;			ResultSet res;			//预处理添加数据,其中有两个参数--“?”			psql = con.prepareStatement("insert into student values(?,?)");			psql.setInt(1, 8); 				//设置参数1,创建id为5的数据			psql.setString(2, "xiaogang");		//设置参数2,name 为小明			psql.executeUpdate();			//执行更新						//预处理更新(修改)数据			psql = con.prepareStatement("update student set stuname = ? where stuid = ?");			psql.setString(1,"xiaowang");		//设置参数1,将name改为王五			psql.setInt(2,10);				//设置参数2,将id为2的数据做修改			psql.executeUpdate();						//预处理删除数据			psql = con.prepareStatement("delete from student where stuid = ?");			psql.setInt(1, 5);			psql.executeUpdate();						//查询修改数据后student表中的数据			psql = con.prepareStatement("select*from student");			res = psql.executeQuery();			//执行预处理sql语句			System.out.println("执行增加、修改、删除后的数据");			while(res.next()){				name = res.getString("stuname");				id = res.getString("stuid");				name = new String(name.getBytes("ISO-8859-1"),"gb2312");				System.out.println(id + "/t" + name);			}			res.close();			psql.close();
该代码段使用到了预处理语句:
con.prepareStatement(String sql);

这样生成数据库底层的内部命令,并将该命令封装在preparedStatement对象中,可以减轻数据库负担,提高访问数据库速度。

运行结果:

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
MySQL에서 기존보기를 삭제하거나 수정하려면 어떻게해야합니까?MySQL에서 기존보기를 삭제하거나 수정하려면 어떻게해야합니까?May 16, 2025 am 12:11 AM

todropaViewInmysql, "dropviewifexistsview_name;"및 TomodifyAview를 사용하고 "createOrreplaceViewView_NameAsselect ...". "

MySQL보기 : 어떤 디자인 패턴을 사용할 수 있습니까?MySQL보기 : 어떤 디자인 패턴을 사용할 수 있습니까?May 16, 2025 am 12:10 AM

mysqlViewScaneFeficTicallyINGILIDESIGNPATTORNSLIKEADAPTER, DECIARATOR, FACTORY 및 OBSERVER.1) AdapterPatternAdAptSDataFromDifferentTablesinToAunifiedView.2) Decor

MySQL에서 뷰를 사용하면 어떤 장점이 있습니까?MySQL에서 뷰를 사용하면 어떤 장점이 있습니까?May 16, 2025 am 12:09 AM

viewsinmysqlarebeneficialforsimplifyingcomplexqueries, envancingsecurity, dataconsistency, andoptimizing promperformance

MySQL에서 간단한보기를 어떻게 만들 수 있습니까?MySQL에서 간단한보기를 어떻게 만들 수 있습니까?May 16, 2025 am 12:08 AM

toeteimpleviewinmysql, usethecreateviewstatement.1) definetheviewwithReateViewview_nameas.2) specifyTesLectStatementToreTrievesiredData.3) usetheViewLikeAtableForqueries.ViewsSimplifyDataAccessAndenHances, ButconSiderFormance

MySQL 사용자 명령문 생성 : 예제 및 공통 오류MySQL 사용자 명령문 생성 : 예제 및 공통 오류May 16, 2025 am 12:04 AM

toCreateUserSinmysql, usethecreateuserstatement.1) foralocaluser : createUser'LocalUser '@'localHost'IndifiedBy'SecurePassword '; 2) foremoteUser : createUser'RemoteUser'@'%'reidentifiedBy'StrongPassword ';

MySQL에서 뷰를 사용하는 한계는 무엇입니까?MySQL에서 뷰를 사용하는 한계는 무엇입니까?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations : 1) 그들은 upportallsqloperations, datamanipulation throughviewswithjoinsorbqueries를 제한하지 않습니다

MySQL 데이터베이스 확보 : 사용자 추가 및 권한 부여MySQL 데이터베이스 확보 : 사용자 추가 및 권한 부여May 14, 2025 am 12:09 AM

적절한 usermanagementInmysqliscrucialforenhancingsecurityandensuringfefficientDatabaseOperation.1) USECREATEUSERTOWDDUSERS,@'localHost'or@'%'.

MySQL에서 사용할 수있는 트리거 수에 영향을 미치는 요인은 무엇입니까?MySQL에서 사용할 수있는 트리거 수에 영향을 미치는 요인은 무엇입니까?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers, butpracticalfactorsdeteirefectiveuse : 1) ServerConfigurationimpactStriggerManagement; 2) 복잡한 트리거 스케일 스케일 사이드로드; 3) argertableSlowtriggerTriggerPerformance; 4) High ConconcercencyCancaUspriggerContention; 5) m

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.