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();}}
}