JDBC:java连接数据库(任意数据库)的技术
JDBC是java为我们预先写好的操作数据库的一系列接口和类
主流的关系型数据库 中小型数据库(mysql sqlserver) 大型数据库(oracle DB2)
需求:通过JDBC技术 实现对数据库连接并且操作数据库中学生表的数据

下面我们来通过JDBC实现查询mysql数据库中学生表的所有学生信息 并且打印到控制台:

(代码如下)

package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcTest {

bublic static void main(String[] args) {
//JDBC连接操作数据库数据的步骤:

try {
//1.加载数据库的驱动(数据库驱动是由数据库厂商为我们提供 不同的驱动代表不同的数据库)确定连接什么数据库
//注意:加载驱动前 一定要确保数据库厂商提供的驱动文件 已经加载到我们当前项目中
Class.forName("com.mysql.jdbc.Driver");
//2.建立数据库的连接
//通过JDBC为我们提供的一个DriverManager对象中的一个getConnection方法连接数据库
//url:连接数据库的详细地址(明确连接哪台电脑上的mysql数据库)
//user:以哪个用户连接 password:用户的密码是什么
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
//3.通过连接对象conn 创建一个通道对象 返回一个通道对象
Statement stmt = conn.createStatement();
//4.通道对象会传递一个sql指令给数据库 去操作数据库中的数据
String sql = "select * from student";
//通过通道对象执行完查询语句 把查询到的所有的学生信息 封装到一个集合(ResultSet)中 返回
ResultSet rs = stmt.executeQuery(sql);
//通过while循环 一个一个的取出学生 并且打印学生的详细信息到控制台
while(rs.next()){
System.out.println(rs.getInt("stuid")+"--"+rs.getString("stuname")+"--"+rs.getInt("stuage")+"--"+rs.getString("stusex"));
}
//5.关闭JDBC的资源
//因为JDBC操作数据库的对象 java的垃圾回收器(GC)不会自动回收 造成内存空间的浪费和占用数据库资源
rs.close();
stmt.close();
conn.close();

} catch (Exception e) {
System.out.println("找不到驱动类");
e.printStackTrace();
}

}

}

运行结果如下:

通过对数据库里面的数据进行修改eclipse运行的结果也会跟着改变,如图所示:

最新文章

  1. C#控制台程序取得INSOYA视频区的视频的真实URL,视频标题,发布时间集合。
  2. webpack踩坑之路——图片的路径与打包
  3. ubuntu mysql使用
  4. iOS-私有API与runtime
  5. iOS开发UI篇—核心动画简介
  6. JS Map 和 List 的简单实现代码
  7. 用uGUI开发自定义Toggle Slider控件
  8. 14、Silverlight 滤镜到 UWP 滤镜的移植(二)
  9. 怎么用sql语句查看某个字段值是否是唯一的
  10. IOS UIVIEW layer动画 总结(转)
  11. PHP编译错误Don't know how to define struct flock on this system, set --enable-opcache=no
  12. centos7下关闭sshd的tcp6
  13. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>会报错
  14. 2018秋寒假作业5—PTA编程总结2
  15. javah命令的使用
  16. Common tasks that you can perform with the Groovy Script test step
  17. tortoiseSVN 合并代码方法
  18. linux mutex
  19. 详细讲解WaterRefreshLoadMoreView的使用
  20. 读书笔记--C陷阱与缺陷(六)

热门文章

  1. Git关联GitHub
  2. 6.PowerShell DSC核心概念之LCM
  3. OpenStack Train版-10.安装neutron网络服务(网络节点:可选)
  4. Leetcode(106)-从中序与后序遍历序列构造二叉树
  5. JavaScript事件:事件处理模型(冒泡、捕获)、取消冒泡、阻止默认事件
  6. DLL & Dynamic-link library
  7. js console 性能测试 & don't-use-array-foreach-use-for-instead
  8. 使用 js 实现一个中文自动转换成拼音的工具库
  9. ES6 & Classes & Interface
  10. nasm astrncmp函数 x86