JavaEE---JDBC技术
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运行的结果也会跟着改变,如图所示:
最新文章
- C#控制台程序取得INSOYA视频区的视频的真实URL,视频标题,发布时间集合。
- webpack踩坑之路——图片的路径与打包
- ubuntu mysql使用
- iOS-私有API与runtime
- iOS开发UI篇—核心动画简介
- JS Map 和 List 的简单实现代码
- 用uGUI开发自定义Toggle Slider控件
- 14、Silverlight 滤镜到 UWP 滤镜的移植(二)
- 怎么用sql语句查看某个字段值是否是唯一的
- IOS UIVIEW layer动画 总结(转)
- PHP编译错误Don't know how to define struct flock on this system, set --enable-opcache=no
- centos7下关闭sshd的tcp6
- <;%@ taglib prefix=";c"; uri=";http://java.sun.com/jsp/jstl/core"; %>;会报错
- 2018秋寒假作业5—PTA编程总结2
- javah命令的使用
- Common tasks that you can perform with the Groovy Script test step
- tortoiseSVN 合并代码方法
- linux mutex
- 详细讲解WaterRefreshLoadMoreView的使用
- 读书笔记--C陷阱与缺陷(六)
热门文章
- Git关联GitHub
- 6.PowerShell DSC核心概念之LCM
- OpenStack Train版-10.安装neutron网络服务(网络节点:可选)
- Leetcode(106)-从中序与后序遍历序列构造二叉树
- JavaScript事件:事件处理模型(冒泡、捕获)、取消冒泡、阻止默认事件
- DLL &; Dynamic-link library
- js console 性能测试 &; don&#39;t-use-array-foreach-use-for-instead
- 使用 js 实现一个中文自动转换成拼音的工具库
- ES6 &; Classes &; Interface
- nasm astrncmp函数 x86