JDBC: (java database Connection) java数据库连接。
java面向对象的语言
SQL:结构化查询语言
这两种语言能否直接沟通? 不能。 出来一个翻译Mysql: 每一个数据库公司提供的方法名可能不一致。导致了java必须记住每一个数据库的方法名。 java语言出来规范,让这些数据库公司实现这个规范。
JDBC链接的步骤:
1.创建lib包
2.把jar放入lib包下
把与自己数据库版本相同的jar包插入
点jar吧右键点击add as Libaray将其作为库添加到项目中
3. 加载驱动
4. 获取链接对象 Connection connection=DriverManager.getConnection(url,user,password);
5. 获取执行sql语句的对象: Statement statement=connection.createStatement();
6. 执行sql语句 int row=statement.executeUpdate(sql); 或 ResultSet resultSet=statement.executeQuery(sql); 遍历结果集
7. 关闭资源
全部代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test2 {
public static void main(String[] args) {
ResultSet resultSet = null;
Statement statement = null;
Connection connection = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver"); //加载驱动
//获取java 与数据库之间的一个通道
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/1015_lianx?serverTimezone=Asia/Shanghai",
"root", "123456");
//获取执行sql语句
statement = connection.createStatement();
//执行sql语句 executeUpdate 执行增删改查的sql
// executeQuery 执行查询的sql
String sql = "select * from cs";
//把从数据库中查询的结果封装到ResultSet中
resultSet = statement.executeQuery(sql);
//遍历结果集
while (resultSet.next()) { //判断是否容器中有记录
System.out.println(resultSet.getInt("cid") + "t" + resultSet.getString("cname"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close(); //关闭连接 先打开的先关闭 后打开的后关闭
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
结果如下:



