首页 > 编程知识 正文

java连接数据库详细步骤,Java连接数据库

时间:2023-05-06 02:44:22 阅读:219728 作者:4811

准备工作

学习前,我们需要预先下载并配置Eclipse,jdk1.8 ,MySQL

jdbc下载与加载

jdbc 8.0.16下载网址:https://dev.mysql.com/downloads/connector/j/

下载解压完后我们打开eclipse,并新建一个java项目,然后右键点击项目–配置路径—配置构建路径:




然后应用并关闭即可。

JDBC的核心API

Driver接口: 数据库驱动程序的接口,所有具体数据库厂商需要的驱动程序需要实现次接口。
Connection connect(String url, Properties info) 用于获取数据库连接。

Connection接口: 与具体的数据库的连接对象。
Statement createStatement() 创建一个静态sql语句对象
PreparedStatement prepareStatement(String sql) 创建预编译的sql语句对象
CallableStatement prepareCall(String sql) 创建存储过程的sql语句对象

Statement接口: 用于执行静态 SQL 语句
int executeUpdate(String sql) 执行更新操作的sql语句 (create/alter/drop/insert/update/delete)
ResultSet executeQuery(String sql) 执行查询操作的sql语句
(select)

——PreparedStatement接口: 用于执行预编译的 SQL 语句(是Statement的子接口)
int executeUpdate() 执行更新操作的sql语句
ResultSet executeQuery() 执行查询操作的sql语句

————CallableStatement接口: 用于执行 SQL 存储过程的接口(是PreparedStatement的子 接口)
ResultSet executeQuery() 执行存储过程的sql语句

ResultSet接口: 结果集对象。 存储所有数据库查询的结果,用该对象进行数据遍历。
boolean next() : 把光标移动到下一行。如果下一行有数据,返回true,如果没有下一行数 据,返回false。
getXXX(列索引|列字段名称): 获取字段的数据

连接数据库

现有数据库test,表grade,具体如下:

我们尝试用java连接数据库,代码如下:

//java连接数据库读取表package jdbc1;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.sql.SQLException;public class Table {public static void main(String[] args) {Connection conn = null; // 声明数据库连接对象String driver = "com.mysql.cj.jdbc.Driver";// 加载数据库驱动String url = "jdbc:MySQL://localhost:3306/test?serverTimezone=GMT%2B8";String username = "root";String password = "524211";try {Class.forName(driver);// 加载数据库驱动conn = DriverManager.getConnection(url, username, password);if (!conn.isClosed())System.out.println("连接成功");// 创建statement类对象Statement s = conn.createStatement();String sql = "select * from grade";// ResultSet类,用来存放获取的结果集ResultSet rs = s.executeQuery(sql);System.out.println("----------------------------------------------------------------------");System.out.println("载入图表如下:");System.out.println("----------------------------------------------------------------------");System.out.println("id" + "t" + "name" + "t" + "gender" + "t" + "school" + "t" + "english" + "t"+ "chinese" + "t" + "math" + "t" + "sciense");System.out.println("----------------------------------------------------------------------");String Id = null;String Name = null;String Gender = null;String School = null;String English = null;String Chinese = null;String Math = null;String Sciense = null;while (rs.next()) {Id = rs.getString("id");Name = rs.getString("name");Gender = rs.getString("gender");School = rs.getString("school");English = rs.getString("english");Chinese = rs.getString("chinese");Math = rs.getString("math");Sciense = rs.getString("sciense");// 输出结果System.out.println(Id + "t" + Name + "t" + Gender + "t" + School + "t" + English + "t" + Chinese+ "t" + Math + "t" + Sciense);}rs.close();conn.close();} catch (ClassNotFoundException e) {// 数据库驱动类异常处理System.out.println("数据库驱动加载失败");e.printStackTrace();} catch (SQLException e1) {// 数据库连接失败异常处理e1.printStackTrace();} catch (Exception e2) {e2.printStackTrace();} finally {System.out.println("-----------------------------------------------------------------------");System.out.println("数据库数据获取成功");}}}

运行结果如下所示:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。