前言
早起上课太困惹,太困惹,今天实训讲的是JAVA连接数据库,其实就是一些死的东西没啥好讲的。
全程老师带,作业也简单的一批我就直接放代码了。
代码片段
jdbc.properties:
url=jdbc:mysql://localhost:3306/testtt?useSSL=false
user=root
password=root
driver=com.mysql.jdbc.Driver
JDBCUtils.java
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 psssword;
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");
psssword = 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,psssword);
}
//释放资源
public static void close(ResultSet rs,Statement stmt,Connection conn) throws SQLException{ //ResultSet 结果集
if(rs != null){
rs.close();
stmt.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();
}
}
}
jdbc_test.java
```java
import java.sql.*;
import java.util.Scanner;
public class jdbc_text {
public static void main(String[] args) throws ClassNotFoundException, SQLException { //输入psvm 或者 main后回车
// //1.导入jar包
// //2.注册驱动
// Class.forName("com.mysql.jdbc.Driver"); //alt+回车
// //3.获取数据库连接对象 Connection
// Connection connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/abc?useSSL=false","root","root");//需要更改数据库及数据表相关信息
// //4.定义sql
// String sql = "update user set name = 'xyz1' where id=2";
// String sql1 = "INSERT INTO user (name,password) VALUES ('zzw','123')";
// //5.获取执行sql语句的对象,Statement
// Statement statement = connection.createStatement();
// //6.执行sql语句,接收返回结果
// int count = statement.executeUpdate(sql1);
// //7.处理结果
// System.out.println(count);
// //8.释放资源
// connection.close();
// statement.close();
Scanner sc = new Scanner(System.in);
System.out.println("请选择登录或是注册(1/0)");
String Chiose = sc.nextLine();
if (Chiose.equals("0")){
System.out.println("现在是注册模式");
System.out.println("请输入用户名:");
String username = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
//调用方法
boolean flag = new jdbc_text().register(username,password);
if(flag){
System.out.println("注册成功!");
}else {
System.out.println("注册失败!");
}
}else if(Chiose.equals("1"))
{
System.out.println("现在是登录模式");
System.out.println("请输入用户名:");
String username = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
//调用方法
boolean flag = new jdbc_text().login(username,password);
if(flag){
System.out.println("登录成功!");
}else {
System.out.println("登录失败!");
}
}else{
System.out.println("输入错误,请重新运行后再试");
}
}
//登陆方法
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 connection=null;
Statement statement=null;
int resultSet=-1;
try {
connection = JDBCUtils.getCounection();
//定义sql
String sql = " insert into `user`(NAME,PASSWORD) values('"+username+"','"+password+"')";
//获取执行sql对象
statement = connection.createStatement();
//执行查询
resultSet=statement.executeUpdate(sql);
return true;
}catch (SQLException e){
e.printStackTrace();
}finally {
JDBCUtils.close(statement,connection);
}
return false;
}
}
运行实现
咱们先注册一个人,从Navicat里可以看到我们的数据库里是没有name为xiaomengmeng哒,
那我们就注册一个
注册
从IDEA上获得信息来看我们已经注册成功了,再去Navicat上看看我们在数据库里成功添加数据了没
从Navicat上来看我们已经成功添加了,所以注册功能完美实现
登录
那再来看看我们的登录功能
从图上可以看到在IDEA上已经可以实现用户名的登录了,输入错误的密码也会有对应的提示了
好,咱们下课!