jdbc로 데이터베이스에 연결하는 방법은 무엇입니까? (코드 포함)
이 기사에서는 jdbc를 데이터베이스에 연결하는 방법을 설명합니다. (코드 첨부) 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
JDBC 소개
JDBC의 전체 이름은 Java Data Base Connectivity(Java 데이터베이스 연결)이며, 다양한 데이터베이스에 대한 통합 액세스를 제공할 수 있습니다. JDBC는 Sun에서 개발한 데이터베이스 액세스 프로그래밍 인터페이스 세트입니다. Java 언어로 작성되었으므로 크로스 플랫폼 특성이 뛰어납니다. JDBC를 사용하여 작성된 데이터베이스 애플리케이션은 다른 플랫폼에서 다른 애플리케이션을 작성할 필요 없이 Java를 지원하는 모든 플랫폼에서 실행할 수 있습니다. [동영상 튜토리얼 추천: Java 튜토리얼]
JDBC 프로그래밍 단계
(1) 드라이버 로드:
드라이버 패키지 다운로드: http://dev.mysql.com/downloads/connector/j/
압축을 풀고 jar 파일을 받으세요. 이 파일을 Java 프로젝트 디렉터리 Java Resources/Libraries/, → buildpath에 복사합니다.
(2) 데이터베이스 연결 얻기
(3) Create State 개체:
(4) 데이터베이스에 SQL 명령 보내기
(5) 데이터베이스에서 반환된 결과 처리(ResultSet 클래스)
package com.baidu.emp.jdbcTest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import com.mysql.jdbc.Driver; /** * 开始使用jdbc连接数据库 * @author Admin * */ public class Test001 { public static void main(String[] args) throws Exception { /** * 加载驱动 */ // 方法一: /* * import java.sql.DriverManager; import com.mysql.jdbc.Driver; */ // Driver driver = new Driver(); // DriverManager.registerDriver(driver); // 方法二:(推荐使用) Class.forName("com.mysql.jdbc.Driver"); /** * 创建链接 */ String url = "jdbc:mysql://localhost:3306/testjdbc"; String user = "root"; String password = "root"; Connection connection = DriverManager.getConnection(url, user, password); // 创建statement对象 Statement statement = connection.createStatement(); /** * 执行SQL,获取结果集 */ String sql = "select * from test01"; ResultSet result = statement.executeQuery(sql); // 遍历结果集 while (result.next()) { String name = result.getString("name"); int id = result.getInt("id"); System.out.println(name + "\t" + id); } /** * 关闭链接,释放资源 */ result.close(); statement.close(); connection.close(); } }
SQL 주입 방지 대신 prepareStatement
package com.boya.emp.jdbcTest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; /** * SQL注入,使用prepareStatement对象进行预编译 * @author Admin * */ public class Test002 { public static void main(String[] args) throws Exception { /** * 加载驱动 */ Class.forName("com.mysql.jdbc.Driver"); /** * 创建链接 */ String url = "jdbc:mysql://localhost:3306/testjdbc"; String user = "root"; String password = "root"; Connection connection = DriverManager.getConnection(url, user, password); // 写SQL String sql = "select * from test01 where id = ?"; //创建statement对象,预编译 PreparedStatement statement = connection.prepareStatement(sql); //设置参数 statement.setInt(1, 2); /** * 执行SQL,获取结果集 */ ResultSet result = statement.executeQuery(); // 遍历结果集 while (result.next()) { String name = result.getString("name"); int id = result.getInt("id"); System.out.println(name + "\t" + id); } /** * 关闭链接,释放资源 */ result.close(); statement.close(); connection.close(); } }
를 사용하여 코드를 최적화하고, 구성 파일, 도구 클래스를 설정하고, 추가 및 삭제를 구현하여 확인
구성 파일을 추가하여 데이터베이스 수정 및 사용자 로그인을 용이하게 하세요. . .
jdbc.properties(구성 파일 이름)
driverName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/testjdbc userName=root password=root
구성 파일 작성 시 공백, 따옴표 등을 사용할 수 없다는 점에 유의하세요.
Tool 클래스: 향상된 코드 재사용성
package com.baidu.emp.utils; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import org.junit.Test; public class JdbcUtils { static String driverClassName; static String url; static String user; static String password; static { // 创建配置文件对象 Properties properties = new Properties(); // 加载配置文件输入流 InputStream inputStream = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); // 重新加载配置文件 try { properties.load(inputStream); // 获取配置文件的值 driverClassName = properties.getProperty("driverName"); url = properties.getProperty("url"); user = properties.getProperty("userName"); password = properties.getProperty("password"); Class.forName(driverClassName); } catch (Exception e) { // 抛出异常 throw new RuntimeException(e); } } /** * 获取连接 */ @Test public void testName() throws Exception { System.out.println(driverClassName); } public static Connection getConnection() { Connection connection = null; try { connection = DriverManager.getConnection(url, user, password); } catch (SQLException e) { // 抛出异常 throw new RuntimeException(e); } return connection; } /** * 关闭链接,释放资源 */ public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet) { try { if (resultSet != null) { resultSet.close(); } resultSet = null; // 垃圾及时清除 //注意,不要弄成死循环 close(connection, statement); } catch (SQLException e) { throw new RuntimeException(e); } } /** * 增删改释放资源 */ public static void close(Connection connection, PreparedStatement statement) { try { if (connection != null) { connection.close(); } connection = null; if (statement != null) { statement.close(); } statement = null; } catch (SQLException e) { throw new RuntimeException(e); } } }
테스트 추가, 삭제, 수정 및 확인 :
package com.baidu.emp.jdbcTest; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.baidu.emp.utils.JdbcUtils; /** * 使用jdbcUtils连接数据库进行增删改查 * * @author Admin * */ public class Test003 { // 初始化值 Connection connection = null; PreparedStatement statement = null; ResultSet result = null; @Before public void start() throws Exception { // 创建链接 connection = JdbcUtils.getConnection(); System.out.println("创建链接"); } @After public void end() throws Exception { // 关闭链接 JdbcUtils.close(connection, statement, result); System.out.println("关闭链接"); } /** *插入数据 * @throws Exception */ @Test public void add() throws Exception { String sql = "insert into test01 values(null,?)"; statement = connection.prepareStatement(sql); statement.setString(1, "李四"); int result = statement.executeUpdate(); if (result!=0) { System.out.println("添加成功"); } } /** * 删除数据 * @throws Exception */ @Test public void del() throws Exception { String sql = "delete from test01 where id =?"; statement = connection.prepareStatement(sql); statement.setInt(1,3); int result = statement.executeUpdate(); if (result!=0) { System.out.println("删除成功"); } } /** * 修改数据 * @throws Exception */ @Test public void change() throws Exception { String sql = "update test01 set name = ? where id = ?"; statement = connection.prepareStatement(sql); statement.setString(1, "张飞"); statement.setInt(2, 2); int result = statement.executeUpdate(); if (result!=0) { System.out.println("修改成功"); } } /** * 查询全部数据 * @throws Exception */ @Test public void findAll() throws Exception { String sql = "select id , name from test01"; statement = connection.prepareStatement(sql); result = statement.executeQuery(); if (result.next()) { System.out.println("查询成功"); } } /** * 条件查询数据 * @throws Exception */ @Test public void findOne() throws Exception { String sql = "select id , name from test01 where id = ?"; statement = connection.prepareStatement(sql); statement.setInt(1, 2); result = statement.executeQuery(); if (result.next()) { System.out.println("查询成功"); } } }
동료들이 오해가 있는 부분을 지적해 주셨는데요, 정말 감사합니다
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 jdbc로 데이터베이스에 연결하는 방법은 무엇입니까? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Java8-291 이후에는 TLS1.1이 비활성화되어 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. java.security 파일을 수정하는 방법은 무엇입니까? 1. jre의 java.security 파일을 찾으십시오. jre인 경우 lib/security의 {JAVA_HOME}/jre/로 이동합니다. 예를 들어 ????C:\ProgramFiles\Java\jre1.8.0_301\lib\security입니다. Eclipse 그린 설치가 필요 없는 휴대용 버전인 경우. , 설치 폴더(예:????xxx\plugins\org)에서 java.security를 검색하세요.

Java가 널리 적용되면서 Java 프로그램이 데이터베이스에 연결할 때 JDBC 오류가 자주 발생합니다. JDBC(JavaDatabaseConnectivity)는 데이터베이스에 연결하는 데 사용되는 Java의 프로그래밍 인터페이스입니다. 따라서 JDBC 오류는 Java 프로그램이 데이터베이스와 상호 작용할 때 발생하는 오류입니다. 다음은 가장 일반적인 JDBC 오류 중 일부와 이를 해결하고 방지하는 방법입니다. ClassNotFoundException 이것은 가장 일반적인 JDBC입니다.

1. JDBC에서 ExecuteBatch 메소드는 여러 개의 dml 문을 일괄적으로 실행할 수 있으며, 개별적으로 ExecuteUpdate를 실행하는 것보다 효율성이 훨씬 높다는 점을 설명합니다. mysql과 oracle에서 일괄 실행을 구현하는 방법은 무엇입니까? 이 기사에서는 이에 대한 원리를 소개합니다. 2. 실험 소개 이 실험은 다음 세 단계를 통해 수행됩니다: a. mysql에서 jdbc의 일괄 실행과 단일 실행에 소요되는 시간을 기록합니다. b. oracle에서 jdbc의 일괄 실행과 단일 실행에 소요되는 시간을 기록합니다. c. oracleplsql의 일괄 실행과 단일 실행을 기록합니다. 실행 시간이 많이 걸리는 관련 Java 및 데이터베이스 버전은 다음과 같습니다. Java17, Mysql8, Oracle

최근 몇 년 동안 Java 언어가 점점 더 널리 사용되고 있으며 JDBCAPI는 Java 응용 프로그램이 데이터베이스와 상호 작용하는 창의적인 방법입니다. JDBC는 Java 응용 프로그램이 모든 데이터베이스에 연결할 수 있도록 하는 ODBC라는 개방형 데이터베이스 연결 표준을 기반으로 합니다. . 관리 시스템(DBMS). 그 중 MySQL은 널리 사용되는 데이터베이스 관리 시스템입니다. 그러나 개발자는 MySQL 데이터베이스에 연결할 때 몇 가지 일반적인 문제에 직면하게 됩니다. 이 기사는 JDBCAPI 연결 M을 소개하는 것을 목표로 합니다.

1. 데이터베이스 프로그래밍을 위한 전제 조건 Java, C, C++, Python 및 Oracle, MySQL, SQLServer와 같은 기타 데이터베이스 및 기타 데이터베이스 드라이버 패키지와 같은 프로그래밍 언어: 예를 들어 다양한 데이터베이스는 다양한 프로그래밍 언어에 해당하는 다양한 데이터베이스 드라이버 패키지를 제공합니다. : MySQL은 Java 기반으로 MySQL을 운영하는데 필요한 Java 드라이버 패키지 mysql-connector-java를 제공한다. 마찬가지로 Java 기반의 Oracle 데이터베이스를 운영하려면 Oracle의 데이터베이스 드라이버 패키지 ojdbc가 필요합니다. 2. 자바 데이터베이스 프로그래밍: JDBCJDBC, JavaDatabaseConnectiv

PHP를 사용하여 데이터베이스의 처음 몇 개의 레코드를 읽는 방법은 무엇입니까? 웹 애플리케이션을 개발할 때 데이터베이스에서 데이터를 읽어 사용자에게 표시해야 하는 경우가 많습니다. 때로는 전체 내용이 아닌 데이터베이스의 처음 몇 개의 레코드만 표시해야 하는 경우도 있습니다. 이 기사에서는 PHP를 사용하여 데이터베이스의 처음 몇 개의 레코드를 읽는 방법과 특정 코드 예제를 제공하는 방법을 설명합니다. 먼저, 데이터베이스에 연결하고 작업하려는 테이블을 선택했다고 가정합니다. 다음은 간단한 데이터베이스 연결 예입니다.

Java 프로그램에서 데이터베이스에 연결하는 것은 매우 일반적인 작업입니다. 기성 클래스 라이브러리와 도구를 사용하여 데이터베이스에 연결할 수 있지만 프로그램 개발 중에 다양한 비정상적인 상황이 계속 발생할 수 있으며 그 중 SQLException이 그 중 하나입니다. SQLException은 Java에서 제공하는 예외 클래스로 쿼리문 오류, 테이블 존재하지 않음, 연결 끊김 등 데이터베이스에 접근할 때 발생하는 오류를 설명합니다. Java 프로그래머, 특히 JDBC(Java Data

Hibernate와 JDBC의 차이점: 추상화 수준: Hibernate는 높은 수준의 객체 매핑과 쿼리 생성을 제공하는 반면 JDBC는 수동 코딩이 필요합니다. 객체 관계형 매핑: Hibernate는 Java 객체와 데이터베이스 테이블을 매핑하지만 JDBC는 이 기능을 제공하지 않습니다. 쿼리 생성: Hibernate는 쿼리 생성을 단순화하기 위해 HQL을 사용하는 반면, JDBC는 복잡한 SQL 쿼리 작성이 필요합니다. 트랜잭션 관리: Hibernate는 트랜잭션을 자동으로 관리하지만 JDBC는 수동 관리가 필요합니다.
