この記事では、jdbc をデータベースに接続する方法について説明します。 (コードを添付します)。困っている友人が参考になれば幸いです。
JDBC の概要
JDBC の正式名は次のとおりです: Java Database Connectivity (Java データベース接続)。これにより、次への統合アクセスが提供されます。さまざまなデータベース。 JDBC は、sun によって開発されたデータベース アクセス プログラミング インターフェイスのセットであり、SQL レベルの API です。 Java 言語で記述されているため、JDBC を使用して記述されたデータベース アプリケーションは、異なるプラットフォームで異なるアプリケーションを作成することなく、Java をサポートする任意のプラットフォームで実行できます。 [ビデオチュートリアルの推奨: Java チュートリアル]
JDBC プログラミング手順
(1) ドライバーをロードします:
ドライバー パッケージをダウンロードします: http://dev.mysql.com/downloads/connector/j/
解凍して jar ファイルを取得します。このファイルを Java プロジェクト ディレクトリ Java Resources/Libraries/ → buildpath にコピーします。
(2) データベース接続の取得
(3) Statement オブジェクトの作成:
(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
設定ファイルを記述するときは、途中にスペースや引用符を含めることはできないことに注意してください。
ツール クラス: 拡張コードの複雑さ 使いやすさ
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 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がjdbcでデータベースに接続するにはどうすればよいですか? (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

この記事では、分散アプリケーションを構築するためのJavaのリモートメソッドの呼び出し(RMI)について説明します。 インターフェイスの定義、実装、レジストリのセットアップ、およびクライアント側の呼び出しを詳述し、ネットワークの問題やセキュリティなどの課題に対処します。

この記事では、ネットワーク通信のためのJavaのソケットAPI、クライアントサーバーのセットアップ、データ処理、リソース管理、エラー処理、セキュリティなどの重要な考慮事項をカバーしています。 また、パフォーマンスの最適化手法も調査します

この記事では、カスタムJavaネットワーキングプロトコルの作成を詳述しています。 プロトコルの定義(データ構造、フレーミング、エラー処理、バージョン化)、実装(ソケットを使用)、データシリアル化、およびベストプラクティス(効率、セキュリティ、メンテナ


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック



