データベース開発3:(JDBCコンセプト原理)を取得JDBCデータベースの開発

該当記事ビデオソースhttps://developer.aliyun.com/lesson_1694_13596#_13596

JDBCはじめ
JDBCは何である1
    JDBC(Javaデータベース接続性)データベースを操作するJava言語を使用するJavaデータベース接続、である。
    我々は、データベースを操作するコントロールボックス内のSQL文を使用してデータベースを操作すること、Java言語を使用してデータへのSQL文を送信するために、JDBCです。
2jdbc原則

彼らは単にメーカーのデータが大きすぎる図書館サービスの差別化であるので、これは、不可能なミッションである発見し始めているとき、初期の太陽の天才は、世界中のデータベースを作成するためのAPIを接続することができます。その後太陽がデータベース・ベンダーで始まります議論は、最終的な結論は、その後、各データベースベンダーがあなたの会社へのアクセスのためのルールのセットを提供するために、太陽に従いますデータベースにアクセスし、データベースへの同時標準の接続を提供するために、(ある、インタフェースのセット)太陽の仕様によって提供されています、が.sunという名前のJDBC、およびさまざまなベンダーが提供するJDBCの仕様を踏襲し、データベース・サーバーのAPI仕様のうち、あなたはそれらのデータをAPIライブラリがドライブと呼ばれてアクセスすることができます

package jdbc;
import org.junit.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
 * Created by kevin on 2020/3/22.
 */
public class Demo1 {
    @Test
    public void fun1() throws Exception{
        /**
         * 一 jdbc四大参数配置:
         * >driverClassName:com.mysql.jdbc.Driver
         * >url:jdbc:mysql://localhost:3306/test
         * >username:root
         * >password:123
         */
        Class.forName("com.mysql.cj.jdbc.Driver");//这是新版本的老版本为com.mysql.jdbc.Driver,MySQL5用的驱动url是com.mysql.jdbc.Driver,MySQL6以后用的是com.mysql.cj.jdbc.Driver.版本不匹配便会报驱动类已过时的错误.
        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";//JDBC连接MySQL6 (com.mysql.cj.jdbc.Driver), 需要指定时区serverTimezone
        String username = "root";
        String password = "mysql";
        Connection connection = DriverManager.getConnection(url,username,password);
        System.out.println(connection);
        /**
         * 二、怼数据库的增、删、改
         * 1通过Connection对象创建Statement
         * > Statement语句的发送器,它的功能就是向数据库发送sql语句
         * 2调用他的int exexuteUpdate(String sql) 他可以发送DML、DDL
         */
        //1.通过Connection 得到Statement对象
        Statement statement = connection.createStatement();
        String sql = "insert into stu values('0001','张三','100','男')";
//        String sql = "update stu set name='李四' where number='0001'";
//        String sql = "delete from stu where number='0001'";
        int r = statement.executeUpdate(sql);
        System.out.println(r);
        statement.close();
        connection.close();

    }

    /**
     * 执行查询
     */
    @Test
    public void fun2() throws Exception{
        /**
         * 一、得到Connection
         * 二、得到Statement,发送select语句
         * 三、对查询返回的表格进行解析
         * 四、关闭资源
         */
        /**
         * 一、得到连接
         * 1准备四大连接参数
         */
        String driverClassName = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
        String username = "root";
        String password = "mysql";
        /**
         * 2、加载驱动类
         */
        Class.forName(driverClassName);
        /**
         * 3、通过剩下的3个参数调用DrierManger的getConnection得到连接
         */
        Connection connection = DriverManager.getConnection(url,username,password);
        /**
         * 二、获取Statement,执行select语句
         * 1.得到Statement对象:Connection的createStatement())方法
         */
        Statement statement = connection.createStatement();
        /**
         * 2.调用Statement的ResultSet rs = executeQuery(String querySql)
         */
        ResultSet resultSet = statement.executeQuery("select * from stu");
        System.out.println(resultSet);
        /**
         * 三、解析ResultSet
         */
        while(resultSet.next()){
            int gender = resultSet.getInt(3);//通过列编号获取值
            String name = resultSet.getString("name");//通过列名获取值
            System.out.println(name+","+gender);
        }
        /**
         * 四、关闭资源
         * 倒关
         */
        resultSet.close();
        statement.close();
        connection.close();//必须关闭(练习时跑完就结束了,但是真实环境一般项目在一直运行会占用资源,可能引起服务器崩溃)
    }
}

コードの関連するデータベース

標準のJDBCコード

1、文は外側のtryの定義で参照します

2、オブジェクトは、try内でインスタンス化されます

3、最後に閉じた状態で行われ、

例えば:

public void query(){
    Connection con = null;//在try外给出引用定义
    Statement stmt = null;
    ResultSet rs = null;
    try{
        con = xxx;//在try内对象实例化
        while(rs.next()){
            //xxxxxx  
        }
    }catch(Exception e){
        //xxx
    }finally{
        try{
            if(con != null){
                con.close();//在finally中进行关闭
            }
        }
    }

}

 

公開された52元の記事 ウォン称賛7 ビュー10000 +

おすすめ

転載: blog.csdn.net/YKWNDY/article/details/105029927