前言
实习课第二课,用java连接数据库做个登录注册
最开始的简单代码
import java.sql.*;
import java.util.Scanner;
public class jdbc_test1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.导入jar包
//2.注册驱动
Class.forName("com.mysql.jdbc.Driver"); //alt+回车
//3.获取数据库连接对象 Connection
Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/testtt?useSSL=false","root","123456");//需要更改数据库及数据表相关信息
//4.定义sql
String sql = "INSERT into user (name,password) VALUES('zr','111');";
//5.获取执行sql语句的对象,Statement
Statement statement = connection.createStatement();
//6.执行sql语句,接收返回结果
int count = statement.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
connection.close();
statement.close();
}
}
建立jdbc.properties
url=jdbc:mysql://localhost:3306/testtt?useSSL=false
user=root
password=123456
driver= com.mysql.jdbc.Driver
建立JDBCUtils
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
public class JDBCUtils {
private static String url;
private static String user;
private static String password;
private static String driver;
//读取文件,只需读取一次即可拿到这些值,使用静态代码块
static {
try{
//1.创建Properties集合类
Properties pro = new Properties();
//获取src路径下文件---→ClassLoader 类加载器
ClassLoader classLoader = JDBCUtils.class.getClassLoader();
URL res =classLoader.getResource("jdbc.properties");
String path = res.getPath();
System.out.println(path);
//2.加载文件
pro.load(new FileReader(path));
//3.获取数据,赋值
url = pro.getProperty("url");
user = pro.getProperty("user");
password = pro.getProperty("password");
driver = pro.getProperty("driver");
//4.注册驱动
Class.forName(driver);
}catch (IOException e){
e.printStackTrace();
}catch (ClassNotFoundException e1){
e1.printStackTrace();
}
}
//连接
public static Connection getCounection() throws SQLException {
return DriverManager.getConnection(url,user,password);
}
//释放资源
public static void close(ResultSet rs, Statement stmt, Connection conn) throws SQLException {
if (rs!=null){
rs.close();
}
if (stmt!=null){
stmt.close();
}
if (conn!=null){
conn.close();
}
}
public static void close(Statement stmt, Connection conn) throws SQLException {
if (stmt!=null){
stmt.close();
}
if (conn!=null){
conn.close();
}
}
}
登录方法
//登录方法
public boolean login(String username,String password) throws SQLException {
if(username==null||password==null){
return false;
}
Connection conn =null;
Statement stmt =null;
ResultSet rs =null;
try {
conn = JDBCUtils.getCounection();
//定义sql
String sql = "select * from user where name = '"+username+"' and password = '"+password+"'";
//获取执行Sql对象
stmt = conn.createStatement();
//执行查询
rs=stmt.executeQuery(sql);
return rs.next(); //返回查询结果的下一行 查询到多少行
}catch (SQLException e){
e.printStackTrace();
}finally {
JDBCUtils.close(rs,stmt,conn);
}
return false;
}
注册方法
//注册方法
public boolean register(String username,String password) throws SQLException {
if(username==null||password==null){
return false;
}
Connection conn =null;
Statement stmt =null;
int rs=-1;
try {
conn = JDBCUtils.getCounection();
//定义sql
String sql = "INSERT INTO user (name,password) values('"+username+"','"+password+"')";
//获取执行Sql对象
stmt = conn.createStatement();
//执行查询
rs=stmt.executeUpdate(sql);
return true;//返回查询结果的下一行 查询到多少行
}catch (SQLException e){
e.printStackTrace();
}finally {
JDBCUtils.close(stmt,conn);
}
return false;
}
原有数据库
登录验证
"C:\Program Files\Java\jdk-13.0.1\bin\java.exe" "-javaagent:E:\idae\IntelliJ IDEA 2020.1.1\lib\idea_rt.jar=55880:E:\idae\IntelliJ IDEA 2020.1.1\bin" -Dfile.encoding=UTF-8 -classpath D:\java\out\production\java;D:\java\lib\weld-spi.jar;D:\java\lib\weld-api.jar;D:\java\lib\weld-core-jsf.jar;D:\java\lib\weld-servlet-core.jar;D:\java\lib\cdi-api.jar;D:\java\lib\weld-core-impl.jar;D:\java\lib\weld-core.jar;D:\java\lib\weld-se-core.jar;D:\java\lib\weld-se.jar;D:\java\lib\weld-servlet.jar;D:\java\lib\mysql-connector-java-5.1.47-bin.jar jdbc_test
请输入用户名:
w
请输入密码:
45
/D:/java/out/production/java/jdbc.properties
登录成功!
Process finished with exit code 0
注册验证
"C:\Program Files\Java\jdk-13.0.1\bin\java.exe" "-javaagent:E:\idae\IntelliJ IDEA 2020.1.1\lib\idea_rt.jar=55996:E:\idae\IntelliJ IDEA 2020.1.1\bin" -Dfile.encoding=UTF-8 -classpath D:\java\out\production\java;D:\java\lib\weld-spi.jar;D:\java\lib\weld-api.jar;D:\java\lib\weld-core-jsf.jar;D:\java\lib\weld-servlet-core.jar;D:\java\lib\cdi-api.jar;D:\java\lib\weld-core-impl.jar;D:\java\lib\weld-core.jar;D:\java\lib\weld-se-core.jar;D:\java\lib\weld-se.jar;D:\java\lib\weld-servlet.jar;D:\java\lib\mysql-connector-java-5.1.47-bin.jar jdbc_test1
请输入用户名:
wdd4
请输入密码:
1231
/D:/java/out/production/java/jdbc.properties
注册成功!
Process finished with exit code 0