新手学JAVA(八)----走进JDBC
来源:互联网 发布:8051单片机做打砖块 编辑:程序博客网 时间:2024/06/08 14:58
- 什么是JDBC
- 为什么要用JDBC
- 怎么用JDBC
什么是JDBC?
JDBC(Java Data Base Connectivity, Java 数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问。简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。
为什么要用JDBC?
在没有JDBC之前,应用程序可以通过数据库厂商提供的API及SQL语句对数据库进行操作,如下图:
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事,换言之,有了JDBC API,就不必为方位MySQL数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问SQLServer数据库又编写另一个程序,等等,程序员只需用JDBC API 写一个程序就够了,它可想相应的数据库发送SQL调用,同时将JAVA语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只需写一遍程序就可以让它在任何平台上运行。如下图:
怎么用JDBC?
JDBC的主要功能如下:
- 建立与数据库或其他数据源的连接
- 向数据库发送SQL命令
- 处理数据库的返回结果
下面通过一个例子来演示Java数据库一个用程序反问数据库的全过程。
import java.sql.*; //导入包import java.sql.Connection;import java.sql.DriverManager;public class JDBCMain { // 数据库的链接 private Connection con = null; private Statement st = null; // 执行SQL语句的对象 private ResultSet rs = null; // 结果集对象 public JDBCMain() { // 桥连接 try { // 声明驱动程序 String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // users就是数据源的名称 String ds = "jdbc:sqlserver://localhost:1433;databaseName=JavaSpecial"; // 数据源的登录名 String user = "sa"; // 数据源的密码 String password = "123456"; // 链接数据库 Class.forName(driver); // 加载数据库的驱动程序 con = DriverManager.getConnection(ds, user, password); if (con != null) { System.out.println("数据库链接成功!"); } } catch (Exception e) { System.out.println("数据库连接失败!" + e.toString()); } } /** * 普通查询 * @param sqlQuery */ public void query(String sqlQuery) { try { // Connection con = null; Statement st = con.createStatement(); // 得到Statement的实例 ResultSet rs = st.executeQuery(sqlQuery); // 执行SQL语句,返回结果集 // 当返回的结果集不为空是,并且还有记录时 while (rs != null && rs.next()) { int stu_num = rs.getInt(1); // 获得当前记录的第1个字段的值 String name = rs.getString("name"); // 获得当前记录中"name"字段的值 int age = rs.getInt("age"); // 获得当前记录中"age"字段的值 int math = rs.getInt("math"); // 获得当前记录中"math"字段的值 int english = rs.getInt("english"); // 获得当前记录中"english"字段的值 System.out.println("学号=" + stu_num + "\t 姓名=" + name + "\t 年龄=" + age + "\t 数学成绩=" + math + "\t 英语成绩=" + english); } } catch (Exception e) { // 抛出异常 System.out.println("查询数据时出错" + e.toString()); } } /** * /添加,删除,更新 */ public void add_update_Del(String sql) { try { Statement st = con.createStatement(); // 生成Statement对象 int x = st.executeUpdate(sql); // 执行操作 System.out.println("操作成功" + x); } catch (Exception e) { System.out.println("数据修改时有误" + e.toString()); } } // 主程序 public static void main(String[] args) { JDBCMain jc = new JDBCMain(); // 查询 String name = "张三"; String sqlQuery = "select * from stu_info where name='" + name + "'"; jc.query(sqlQuery); //添加 String sqlAdd ="insert into stu_info values(7,'令仔',17,89,84)"; jc.add_update_Del(sqlAdd); //更改 String sqlUpdate ="update stu_info set math =95 where name ='张三'"; jc.add_update_Del(sqlUpdate); //删除 String sqlDelete ="delete from stu_info where name='张三'"; jc.add_update_Del(sqlDelete); }}
下面是源代码下载的链接:JDBC数据库连接测试
4 0
- 新手学JAVA(八)----走进JDBC
- 新手学JAVA(八)----走进JDBC
- 初学者学Java(八)
- 初学者学Java(八)
- 新手学Linux(八)----MySql安装(Centos7)
- 新手学EasyUI(八)----SubGrid三级嵌套
- 新手学JAVA(三)----StringBuilder类
- 新手如何学java
- 从零开始学java(八)流程控制
- 新手学JAVA(五)----深入剖析JAVA拆装箱
- 新手学java 问题求教!!
- 新手学JAVA该如何学
- JDBC(八)
- 新手学Java 7编程(第5版)
- 新手学JAVA(四)----装箱与拆箱
- 新手学JAVA(六)----处理随机性的数据
- 新手学JAVA(七)----Override VS Overload
- 新手学JAVA(九)----Model1 And Model2
- “集群和负载均衡”等的通俗解释
- Face++ Java 简单实例
- 【腾讯bugly干货分享】如何定位Obj-C野指针随机Crash(三):加点黑科技让Crash自报家门
- delphi常用的数学函数
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- 新手学JAVA(八)----走进JDBC
- Camera 图像处理原理分析
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- socket属性设置函数总结
- NSMutableAttributedString常规用法
- WWDC 2015上那些酷酷的新内容(一)
- HTML5学习-Day2
- eclipse安装tomcat
- System property 之 file.encoding