1.导入jar包依赖:mysql-connector-java-8.0.27.jar
2.连接数据库!
3.无法解析类->导入java.sql.*,(将项目方言改为Mysql)
JDBC,启动!!
public class Main {
public static void main(String[] args) {
//1. 通过DriverManager来获得数据库连接
try (Connection connection = DriverManager.getConnection("连接URL","用户名","密码");
//2. 创建一个用于执行SQL的Statement对象
Statement statement = connection.createStatement()){ //注意前两步都放在try()中,因为在最后需要释放资源!
//3. 执行SQL语句,并得到结果集
ResultSet set = statement.executeQuery("select * from 表名");
//4. 查看结果
while (set.next()){
}
}catch (SQLException e){
e.printStackTrace();
}
//5. 释放资源,try-with-resource语法会自动帮助我们close
}
}
1. 通过DriverManager来获得数据库连接
当方法getConnection被调用时,DriverManager将尝试从初始化时加载的驱动程序中找到合适的驱动程序,并创建Connection。
(由于Connection和Statement都需要执行close方法,使用try-with-resources的语法可以简化代码书写)
2. 创建一个用于执行SQL的Statement对象
创建connetion(数据库连接对象),用于向数据库发送SQL语句的Statement对象。没有参数的SQL语句通常使用Statement对象执行。如果同一SQL语句被多次执行,那么使用PreparedStatement对象可能会更高效。
(由于Connection和Statement都需要执行close方法,使用try-with-resources的语法可以简化代码书写)
3. 执行SQL语句,并得到结果集
select语句的查询结果存放在ResultSet对象里面。
使用JDBC查询实例:
import java.sql.Connection;
import java.sql.*;
public class Main {
public static void main(String[] args) {
//1. 通过DriverManager来获得数据库连接
try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBCtest","root","66666");
//2. 创建一个用于执行SQL的Statement对象
Statement statement = connection.createStatement()){ //注意前两步都放在try()中,因为在最后需要释放资源!
//3. 执行SQL语句,并得到结果集
ResultSet set = statement.executeQuery("select * from users");
//4. 查看结果
while (set.next()){//若结果集链表存在下一个结果,则指针移动
System.out.println(set.getInt(1)+set.getString(2)+set.getString(3));
//按表的每一列输出结果:依次为ID\Name\PassWord
}
}catch (SQLException e){
e.printStackTrace();
}
//5. 释放资源,try-with-resource语法会自动帮助我们close
}
}
将查询结果映射为对象
将数据库中数据转换为一个实体类来进行操作:
import java.sql.Connection;
import java.sql.*;
class Student {
Integer sid;
String name;
String password;
public Student(Integer sid, String name, String password) {
this.sid = sid;
this.name = name;
this.password = password;
}
public void say(){
System.out.println("我叫:"+name+",学号为:"+sid+",我的密码是:"+password);
}
}
public class Main {
public static void main(String[] args) {
//1. 通过DriverManager来获得数据库连接
try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment4","root","123456");
//2. 创建一个用于执行SQL的Statement对象
Statement statement = connection.createStatement()){ //注意前两步都放在try()中,因为在最后需要释放资源!
//3. 执行SQL语句,并得到结果集
ResultSet set = statement.executeQuery("select * from users");
//4. 查看结果
while (set.next()){
Student student = new Student(set.getInt(1), set.getString(2), set.getString(3));
student.say();
}
}catch (SQLException e){
e.printStackTrace();
}
}
}