一、原生JDBC的有关问题
- 注意: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();
}
- 原生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("数据库关闭失败");
}
}
}
}