Jdbc连接数据库
1.建立与数据库的连接
1.1导入jdbc包
1.2加载JDBC驱动
java.lang.Class.forName(JDBCDriverClass);
Class.forName(driver);
MySQL的加载驱动
Class.forName(com.mysql.jdbc.Driver);
1.3获取数据库连接对象
Connection conn = DriverManager.getConnection(url,user,password);
2执行SQL语句
步骤一:创建Statement对象
步骤二:调用Statement对象相应方法将Sql语句发送到所连接数据库
2.1创建执行对象
Statement stmt = conn.createStatement();
2.2执行查询语句:
public ResultSet executeQuery(String selectSql)
ResultSet rs = stmt.executeQuery(selectSql);
2.3 执行增删改语句:
public ResultSet executeUpdate(String updateSql);
Result rs = stmt.executeUpdate(updateSql);
3.处理返回结果
while(rs.next()){
String no = rs.getString("sNo");
String name = rs.getString("sName");
String sex = rs.getString("sex");
Int age = rs.getInt("age");
String dept = rs.getString("dept");
String address = rs.getString("address");
System.out.println(no+"\t"+name+"\t"+sex+"\t"+age+"\t"+dept+"\t"+address));
};
4.关闭创建的各种对象
步骤1:关闭结果集对象rs
步骤2:关闭执行对象stmt
步骤3:关闭数据库连接对象conn
try{
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();}
catch(Exeption e){e.printStackTrace();}

public class app17_15 {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/ku";
private static String user = "root";
private static String password = "root";
public static void main(String[] args) {
String sql = "SELECT sNo,sName,sex,age,dept,address FROM student WHERE dept = '计算机'";
try(
//创建数据库连接
Connection conn= DriverManager.getConnection(url,user,password);
//执行SQL语句
Statement stmt = conn.createStatement();
//处理返回结果
ResultSet rs = stmt.executeQuery(sql);
){
Class.forName(driver);//加载MySQL的驱动
while(rs.next()){
String no = rs.getString("sNo");
String name = rs.getString("sName");
String sex = rs.getString("sex");
int age = rs.getInt("age");
String dept = rs.getString("dept");
String address = rs.getString("address");
System.out.println(no+"\t"+name+"\t"+sex+"\t"+age+"\t"+dept+"\t"+address);
}
}
catch (Exception e){
e.printStackTrace();
}
}
}

5.jdbc中三种SQL对表查询方式
第一种:Statement接口执行不带参数的静态SQL语句查询
静态SQL语句指执行executeQuery()以及executeUpdate()方法时,
SQL语句没有参数
第二种:PreparedStatement接口执行动态SQL语句查询
第三种:CallableStatement接口执行存储过程调用

public class app17_16 {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/ku";
private static String user = "root";
private static String password = "root";
public static void main(String[] args) {
String selectSql = "SELECT * FROM student WHERE dept = '计算机'";
String insertSql = "INSERT INTO student(sNo,sName,sex,age,dept,address) VALUES('9','刘六','女',22,'外语','湖南')";
String updateSql = "UPDATE student SET dept ='金融' WHERE sNo = '7'";
String deleteSql = "DELETE FROM student WHERE sNo = '3'";
try(
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(selectSql);
){
Class.forName(driver);
while(rs.next()) {
String no = rs.getString("sNo");
String name = rs.getString("sName");
String sex = rs.getString("sex");
int age = rs.getInt("age");
String dept = rs.getString("dept");
String address = rs.getString("address");
System.out.println(no + "\t" + name + "\t" + sex + "\t" + age + "\t" + dept + "\t" + address);
}
{
int count = stmt.executeUpdate(insertSql);
System.out.println("添加了"+count+"记录到student表");
count = stmt.executeUpdate(updateSql);
System.out.println("修改了"+count+"记录到student表");
count = stmt.executeUpdate(deleteSql);
System.out.println("删除了"+count+"记录到student表");
}
}
catch (Exception e){
e.printStackTrace();
}
}
}

总结:熟悉了一遍数据库与idea的连接

创建数据库连接对象

创建SQL执行对象

处理返回结果集

关闭对象

令我耗时的是程序出来咯,但由于没有导入jar包,导致出错

五月二十五日jdbc基础知识点的更多相关文章

  1. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  2. Spring4.x 基础知识点

    # Spring4.x 基础知识点## 第二章 快速入门- 一般情况下,需要在业务模块包下进一步按分层模块划分子包,如user\dao.user\service.viewspace\dao.views ...

  3. fastclick 源码注解及一些基础知识点

    在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...

  4. .NET基础知识点

    .NET基础知识点   l  .Net平台  .Net FrameWork框架   l  .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转   l  两种交 ...

  5. JavaScript 开发者经常忽略或误用的七个基础知识点(转)

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  6. JavaScript 开发者经常忽略或误用的七个基础知识点

    JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它.昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序.很多新 ...

  7. jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

    一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...

  8. jdbc基础 (四) 批处理

    批处理,就是字面上的意思,一次性处理一批sql语句. 直接看例子吧: package com.cream.ice.jdbc; import java.sql.Connection; import ja ...

  9. jdbc基础 (三) 大文本、二进制数据处理

    LOB (Large Objects)   分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有B ...

  10. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

随机推荐

  1. 如何在Windows 10上使用VS2019 编译C

    一.安装VS 2019 首先VS官网上下载免费的VS2019 community.我们的目的是在Windows上使用该软件编译C,如下图所示,把使用C++的桌面开发打上勾 二.创建.C 项目 1.打开 ...

  2. 监控室NTP/GPS同步时钟解决方案

    深圳市立显电子有限公司,专业LED时钟生产厂家!--------[点击进入]  车站.机场.学校等场所监控室布置要求:   1.宜选择建筑物中环境噪声较小的声场所.如车站票务中心后台.机场保安值班室. ...

  3. React中的固定组件(随遇随记)

    <React.StrictMode></React.StrictMode>对组件中使用严格模式 <React.Fragment></React.Fragmen ...

  4. 基础实验之access/trunk/valn/vlanif/静态路由

     实验要求 1,PC1,PC2,PC3,PC4分别属于VLAN10,20,30,40 2,PC1,PC2,PC3,PC4互通 步骤1:PC1,2,3,4分别配置IP,并在SW6,SW7分别配置网关,并 ...

  5. 十大经典排序之快速排序(C++实现)

    快速排序 通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小.之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的. 思路: (1)选择基准:从数列中挑出一个 ...

  6. RSA模数N因式分解

    模数N: 76190944763750744276324637081713604133996627079343036558766297773626553110133339218840357338899 ...

  7. Vue父子组件传值——第一次传不过去之“怪象”?

    前言:最近写Vue父子组件传值出现第一次传不过去之"怪象",以为Vue的BUG呢.然则,是自己太菜"^_^"!!!特此记录以警己 <spec-param& ...

  8. 实验5 开源控制器实践——POX

    实验5 开源控制器实践--POX 一.实验目的 1.能够理解 POX 控制器的工作原理: 2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握P ...

  9. Selenium常见方法

    1.打开和关闭浏览器  打开浏览器   driver=webdriver.Ie()   driver=webdriver.Chrome()   driver=webdriver.Firefox() ...

  10. Qt 5.15.2 QTextEdit无法设置新字体的处理方式

    首发于我的个人博客:xie-kang.com 博客内有更多文章,欢迎大家访问 原文地址 在使用QT 5.15.2 开发的过程中碰到了件怪事,下列代码无法给QTextEdit选中的文字设置字体: QTe ...