jdbc连接数据库步骤
1、加载驱动
使用Class.forName加载存放连接数据库的驱动类
2、获取连接
使用DriverManager对象静态方法输入连接地址、账号、密码获取连接对象
3、创建sql声明对象
连接对象创建声明对象方法创建一个sql的执行声明对象
4、将要执行的sql交由sql执行对象执行
根据sql的种类使用不同的执行方法返回相应结果
5、根据执行不同sql
如果执行的ddl 、dml语句则不处理,如果执行的是dql语句需要额外处理结果集对象
6、关闭连接释放资源
如果不是dql则直接关闭连接,否则需要额外关闭结果集对象
代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//Java DataBase Connectivity
//java连接数据库技术
public class JDBC {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 使用jdbc连接数据库
// 1、加载驱动类
// 使用反射将指定驱动类加载至虚拟机 使其可以在运行过程中使用
// 且在程序运行期间只需要加载一次
Class.forName("com.mysql.jdbc.Driver");
// 2、获取连接对象
// 使用驱动管理器类 自动使用加载的驱动类进行数据库连接
// 内部存在自动加载相应驱动的方法,但是建议手动加载
// 传入数据类型 url地址 username账号 password密码
// 地址语法jdbc:数据库名://数据库地址ip:端口号/连接的数据库名称;[设置字符编码集]
// 其他数据库连接语法可能稍有不同
// 如果连接成功会返回连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/teacher", "root", "root");
// 3、使用连接创建执行的声明对象(用于执行sql的对象)
// 可以进行sql的简单编译
// 在使用这个对象进行sql执行时,可以根据连接的数据库进行简单的sql校验
Statement statement = con.createStatement();
// 4、使用声明的对象执行相应的sql返回数据
// execute主要用于执行ddl语句 也可以执行dml、dql语句但是返回boolean类型为是否是查询语句
// executeUpdate用于执行ddl dml sql语句 返回数据类型为int(影响条数)
// executeQuery用于执行dql 语句 返回存储查询结果的结果集
// int executeUpdate = statement.executeUpdate("insert into class
// values(11,'G1T11')");
// 查询返回的结果集对象 是一个存储数据形式类似于set形式的数据集合
ResultSet rs = statement.executeQuery("select * from student");
// rs.next();是否存在下一条数据
while (rs.next()) {// 如果结果集对象中存在数据
// System.out.println(rs.getString(1)+"|\t"+rs.getString(2)+"|\t"+rs.getInt(3)+"|\t"+rs.getString(4)+"|\t"+rs.getString(5)+"|\t"+rs.getString(6)+"|\t");
// get数据类型(列索引) 获取指定列数据转换为指定数据类型并返回
// System.out.println(rs.getString("studentname"));
// get数据类型(列名) 获取指定列名的数据
// 注意 while每次获取的是一行数据
}
// 5、关闭连接
con.close();
}
}