PreparedStatement对象设置参数的下标设置

一、原生JDBC的有关问题

  1. 注意:pstmt.setString(1, currentUser.getUserName());中下标是从1开始的。
try {
			PreparedStatement pstmt = con.prepareStatement(sql);
			//注意这里的下标是从1开始的
			pstmt.setString(1, currentUser.getUserName());
			pstmt.setString(2, currentUser.getPassword());
			ResultSet rs = pstmt.executeQuery();
			while(rs.next()) {
				userName = rs.getString("user_name");
				password = rs.getString("password");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
  1. 原生java连接数据库的代码示例(JDBC)
package com.kjgym.util;

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

public class DbUtil {
	
	private static final String DB_URL = "jdbc:mysql://localhost:3306/db_01_jsplearn";
	private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
	private static final String USER_NAME = "root";
	private static final String PASSWORD = "246626";
	
	/**
	 *	获取数据库连接  
	 * @author: kangjia  
	 * @date: 2018年10月27日下午1:46:52
	 * @return:
	 * @return
	 */
	public static Connection getCon() {
		Connection con = null;
		try {
			// 注册JDBC驱动
			Class.forName(JDBC_DRIVER);  
			// 打开连接
			con = DriverManager.getConnection(DB_URL, USER_NAME, PASSWORD);
		} catch (SQLException e) {  // 处理JDBC错误
			e.printStackTrace();
		} catch (Exception e) {  // 处理Class.forName的类找不到错误
			e.printStackTrace();
		}
		return con;
	}
	
	/**
	 *	关闭数据库连接  
	 * @author: kangjia  
	 * @date: 2018年10月27日下午1:47:06
	 * @return:
	 * @param con
	 */
	public static void closeCon(Connection con) {
		if(con != null) {
			try {
				con.close();
			} catch (SQLException e) {
				System.out.println("数据库关闭失败");
			}			
		}
	}
}

你可能感兴趣的:(java)