针对customers表的查询操作举例

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1eJ411c7rf?p=17

Java与SQL对应数据类型转换表
Java 类型 SQL 类型
boolean BIT
byte TINYINT
short SMALLINT
int INTEGER
long BIGINT
String CHAR, VARCHAR, LONGVARCHAR
byte array BINARY,,VAR BINARY
java.sql.Date DATE
java.sql.Time TIME
java.sql.Timestamp TIMESTAMP
import io.github.jihch.bean.Customer;
import io.github.jihch.util.JDBCUtils;
import org.junit.Test;

import java.sql.*;

/**
 * 针对于 Customers 表的查询操作
 */
public class CustomerForQuery {

    @Test
    public void testQuery1() {

        String sql = "select id, name, email, birth from customers where id = ?";
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet resultSet = null;

        try {
            conn = JDBCUtils.getConnection();

            ps = conn.prepareStatement(sql);
            ps.setObject(1, 2);

            //执行,并返回结果集
            resultSet = ps.executeQuery();

            //处理结果集
            if (resultSet.next()) { //next():判断结果集的下一条是否有数据,如果有数据返回 true,并指针下移;如果返回 false,指针不会下移

                //获取当前这条数据的各个字段值
                int id = resultSet.getInt(1);
                String name = resultSet.getString(2);
                String email = resultSet.getString(3);
                Date birth = resultSet.getDate(4);

                //方式一:
//            System.out.println("id = " + id+", name = " + name + ", email = " + email + ", birth = " + birth);

                //方式二:
//            Object[] data = new Object[]{id, name, email, birth};

                //方式三:将数据封装为一个对象(推荐)
                Customer customer = new Customer(id, name, email, birth);
                System.out.println(customer);

            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            JDBCUtils.closeResource(conn, ps, resultSet);
        }

    }//end testQuery1

}
Customer{id=2, name='汪峰', email='wf@126.com', birth=2010-02-02}

https://github.com/jihch/jdbc/blob/main/src/main/java/io/github/jihch/preparedstatement/crud/CustomerForQuery.java