VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Selenium Test
  • Tuyển Dụng
Java Cơ Bản Các Khái Niệm Java OOPs Java String

Java JDBC

Java JDBC là gì? Kết nối Java với MySQL Kết nối Java với SQLServer Kết nối Java với Oracle Connection trong Java Statement trong Java ResultSet trong Java PreparedStatement trong Java ResultSetMetaData trong Java DataBaseMetaData trong Java
Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Java AWT Java Swing Đa Luồng (Multithreading) Java I/O Ví Dụ Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Các Tính Năng Mới Trong Java Bài Tập Java Có Lời Giải Câu Hỏi Phỏng Vấn Java

PreparedStatement trong java


Học java collection
java.util.Date trong java

Giao diện PreparedStatement trong java là một sub-interface của Statement. Nó được sử dụng để thực hiện truy vấn tham số.

String sql = "INSERT INTO student VALUES(?, ?, ?)";

Như bạn thấy, chúng ta truyền tham số (?) cho các giá trị. Giá trị của nó sẽ được cài đặt bằng cách gọi các phương thức setter của PreparedStatement.


Tại sao sử dụng PreparedStatement?

Cải thiện hiệu suất : Hiệu suất của ứng dụng sẽ nhanh hơn nếu bạn sử dụng giao diện PreparedStatement vì truy vấn được biên dịch chỉ một lần.



Làm thế nào để có được đối tượng PreparedStatement.

Phương thức prepareStatement() của giao diện Connection được sử dụng để trả về đối tượng PreparedStatement. Cú pháp:

public PreparedStatement prepareStatement(String query)throws SQLException;

Các phương thức của PreparedStatement interface

Dưới đây là các phương thức quan trọng của PreparedStatement interface trong java:

Phương thứcMô tả
public void setInt(int paramIndex, int value)đặt giá trị số nguyên cho chỉ số tham số đã cho.
public void setString(int paramIndex, String value)đặt giá trị String cho chỉ số tham số đã cho.
public void setFloat(int paramIndex, float value)đặt giá trị float vào chỉ số tham số đã cho.
public void setDouble(int paramIndex, double value)đặt giá trị double vào chỉ số tham số đã cho.
public int executeUpdate()thực hiện truy vấn. Nó được sử dụng để create, drop, insert, update, delete, vv.
public ResultSet executeQuery()thực hiện truy vấn chọn. Nó trả về một thể hiện của ResultSet.


Ví dụ về PreparedStatement trong java

Tạo bảng ‘student’ trong cơ sở dữ liệu có tên ‘testdb’ trong MySQL với câu lệnh như sau:

CREATE TABLE student (
   id   INT              NOT NULL,
   name VARCHAR (32)     NOT NULL,
   address  VARCHAR (32) NOT NULL,
   PRIMARY KEY (id)
);

Tạo chương trình insert và select student:

package vn.viettuts.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class PreparedStatementExample {
    private static String DB_URL = "jdbc:mysql://localhost:3306/testdb";
    private static String USER_NAME = "root";
    private static String PASSWORD = "1234567890";
    
    public static void main(String[] args) {
        String sqlInsert = "INSERT INTO student VALUES(?, ?, ?)";
        String selectAll = "SELECT * FROM student";
        try {
            // connect to database
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection(DB_URL, 
                    USER_NAME, PASSWORD);
            
            // crate statement to insert student
            PreparedStatement stmt = conn.prepareStatement(sqlInsert);
            stmt.setInt(1, 1);
            stmt.setString(2, "Vinh");
            stmt.setString(3, "Hanoi");
            stmt.execute();
            
            // select all student
            stmt = conn.prepareStatement(selectAll);
            // get data from table 'student'
            ResultSet rs = stmt.executeQuery();
            // show data
            while (rs.next()) {
                System.out.println(rs.getInt(1) + "  " + rs.getString(2) 
                        + "  " + rs.getString(3));
            }
            stmt.close();
            conn.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Kết quả:

1  Vinh  Hanoi

Học java collection
java.util.Date trong java

Recent Updates

Bài tập Python có lời giảiPython là gì? - giới thiệu ngôn ngữ lập trình PythonHọc Lập Trình Online Miễn Phí - VietTuts.VnPhân biệt List, Tuple, Set, Dictionary trong PythonHàm Dictionary dict() trong PythonHàm Set set() trong PythonBài tập Java - Trộn 2 mảng trong javaBài tập Java - Chèn phần tử vào mảng trong javaBài tập Java - Sắp xếp mảng theo thứ tự giảm dầnBài tập Java - Sắp xếp mảng theo thứ tự tăng dầnJava - Liệt kê số lần xuất hiện của các phần tử trong một mảngJava - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lần

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml