02-JDBC介绍
传统的JDBC编程方法
第一步:注册驱动 作用:告诉Java程序,即将要连接的是哪个品牌的数据库
第二步:获取连接 表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信使用完之后一定要关闭通道
第三步:获取数据库操作对象 专门执行sql语句的对象
第四步:执行SQL语句 DQL DML…
第五步:处理查询结果集 只有当第四步执行的是select语句的时候,才有这第五步处理查询结果集
第六步:释放资源 使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭
package com.itheima; import com.itheima.entity.User; import com.itheima.mapper.UserMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; // @SpringBootTest注解,用于SpringBoot整合单元测试的注解 @SpringBootTest class SpringbootMybatisQuickstartApplicationTests { @Test public void testJdbc() throws Exception{ // 注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 获取连接 String url = "jdbc:mysql://localhost:3306/mybatis"; String username = "root"; String password = "tyy19950225"; Connection connection = DriverManager.getConnection(url, username, password); // 获取执行SQL语句的对象Statement,执行SQL,返回结果 String sql = "select * from user"; Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql); // 封装结果数据 List<User> userList = new ArrayList<>(); while(resultSet.next()) { Integer id = resultSet.getInt("id"); String name = resultSet.getString("name"); Short age = resultSet.getShort("age"); Short gender = resultSet.getShort("gender"); String phone = resultSet.getString("phone"); User user = new User(id, name, age, gender, phone); userList.add(user); } // 释放资源 statement.close(); resultSet.close(); // 遍历输出查询结果 userList.stream().forEach(user -> { System.out.println(user); }); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理