1.JDBC封装类的书写
package cn.itcast.jdbc;
import java.sql.*;
public class JdbcUtils {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/db2";
private static final String USER = "root";
private static final String PASSWORD = "123456";
/*注册驱动*/
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/*创建数据库连接*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
/*释放资源*/
public static void close(Connection connection, Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/*释放资源,带ResultSet结果集的*/
public static void close(Connection connection, Statement statement, ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null){
try {
connection.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
2.实现登录功能
package cn.itcast.jdbc;
import javax.swing.plaf.nimbus.State;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class JdbcDemo07SignIn {
public static void SignIn(String name, String password) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
connection = JdbcUtils.getConnection();
statement = connection.createStatement();
resultSet = statement.executeQuery("select * from user where name = '" + name + "'and password ='" + password + "'");
if (resultSet.next()) {
System.out.println("登录成功,欢迎您!" + name + "。");
} else {
System.out.println("登录失败,请检查用户名和密码!");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.close(connection, statement, resultSet);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
SignIn(name, password);
}
}
3.使用PreparedStatement创建login对象
package cn.itcast.jdbc;
import java.sql.*;
import java.util.Scanner;
public class JdbcDemo08PreparedStatement {
public static void login(String name, String password) throws SQLException {
Connection connection = JdbcUtils.getConnection();
String sql = "select * from user where name = ? and password = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, name);
preparedStatement.setString(2, password);
ResultSet resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
System.out.println("登录成功:" + name);
} else {
System.out.println("登陆失败");
}
JdbcUtils.close(connection,preparedStatement,resultSet);
}
public static void main(String[] args) throws SQLException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
login(name, password);
}
}