|- Statement接口: 用于执行静态的sql语句

    |- int executeUpdate(String sql)  : 执行静态的更新sql语句(DDL,DML)

    |- ResultSet executeQuery(String sql)  :执行的静态的查询sql语句(DQL)

  |-PreparedStatement接口(Statement接口的子类):用于执行预编译sql语句

      |- int executeUpdate() : 执行预编译的更新sql语句(DDL,DML)

      |-ResultSet executeQuery()  : 执行预编译的查询sql语句(DQL)

  代码:(用DDL语句中的创建来举例,其他的DDL语句,除了发送的sql语句不一样之外,都一样)

  

 public class Statement_one {

     // 数据库的信息
// URL
private static String url = "jdbc:mysql://localhost:3306/day1029";
// 用户名和密码
private static String user = "root";
private static String password = "root"; // 执行DDL语句(创建表为例)
private static void DDL() {
// 为了在关闭连接,在这里创建对象
Connection conn = null;
Statement stsm = null; try {
// 创建驱动注册对象
Class.forName("com.mysql.jdbc.Driver"); // 获取连接的数据库对象
/* Connection */conn = DriverManager.getConnection(url, user,
password); // 创建Statement对象
/* Statement */stsm = conn.createStatement(); // 创建要执行的sql语句
String sql = "CREATE TABLE person(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(10),sex VARCHAR(5),age INT,psot VARCHAR(10),email VARCHAR(20),phone INT)"; // 使用Statement发送该DDL语句,返回的时该sql语句所影响的行数,int类
int result = stsm.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
// 最后关闭连接(后开启的先关闭)
finally {
if (stsm != null) {
try {
stsm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e);
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
}

  代码:用DML的插入数据举例

     private static void DML() {

         Connection conn = null;
Statement stsm = null; try {
// 创建驱动获取对象
Class.forName("com.mysql.jdbc.Driver"); // 获取要连接的数据库对象
conn = DriverManager.getConnection(url, user, password); // 创建Statement对象
stsm = conn.createStatement(); // 准备要执行的sql语言
String sql = "INSERT INTO person (NAME,sex,age) VALUES ('小红','女',20);"; // 执行语句
stsm.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally { if (stsm != null) {
try {
stsm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e);
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e);
}
} } }

  代价:执行DQL

 //DQL(查询数据)
private static void DQL() {
Connection conn = null;
Statement stsm = null; try{
//创建驱动获取对象
Class.forName("com.mysql.jdbc.Driver"); //创建要连接的数据库对象
conn = DriverManager.getConnection(url, user, password); //创建Statement对象
stsm = conn.createStatement(); //准备sql语言
String sql = "SELECT * FROM person;"; //执行sql语言
//返回的是ResultSet,表示数据库结果集的数据表
ResultSet rs = stsm.executeQuery(sql); //打印一行数据,例:打印第二行的数据 //一:移动光标到第二行,具体看API的ResultSet
rs.next();
rs.next();
//根据列名查询
int id = rs.getInt("id");
String name = rs.getString("name");
String sex = rs.getString("sex");
//打印
System.out.println(id+","+name+","+sex); //二:打印所有数据,利用迭代。具体查看API的ResultSet
/* while(rs.next()){
//通过列名来查询,列名的英文字母不分大小写
int id = rs.getInt("id");
String name = rs.getString("name");
String sex = rs.getString("sex");
System.out.println(id+","+name+","+sex); }*/ }

jdbc java数据库连接 3)Statement接口之执行DDL、DML、DQL的更多相关文章

  1. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

  2. jdbc java数据库连接 2)jdbc接口核心的API

    JDBC接口核心的API java.sql.*   和  javax.sql.*(java2.0以后更新的扩展) |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接 ...

  3. jdbc java数据库连接 8)防止sql注入

    回顾下之前jdbc的开发步骤: 1:建项目,引入数据库驱动包 2:加载驱动 Class.forName(..); 3:获取连接对象 4:创建执行sql语句的stmt对象;  写sql 5:执行sql ...

  4. jdbc java数据库连接 5)CallableStatement 接口

    CallableStatement执行存储过程(也是预编译语言) 首先在sql中执行以下带有输入参数的代码: DELIMITER $ CREATE PROCEDURE pro_findById(IN ...

  5. jdbc java数据库连接 4)PreParedStatement接口 之 区别和例子

    Statement 和 PreparedStatement 的区别: 1)语句不同 PreparedStatement需要预编译以及需要参数 2)由于PreparedStatement有缓存区,所以效 ...

  6. jdbc:java数据库连接

    1.导jar包 四大参数: 1.加载驱动类:Class.forName("com.mysql.jdbc.Driver"); 2.url:jdbc:mysql://localhost ...

  7. jdbc java数据库连接 11)中大文本类型的处理

    1. Jdbc中大文本类型的处理 Oracle中大文本数据类型, Clob    长文本类型   (MySQL中不支持,使用的是text) Blob    二进制类型 MySQL数据库, Text   ...

  8. jdbc java数据库连接 10)批处理

    批处理 很多时候,需要批量执行sql语句! 需求:批量保存信息! 设计: AdminDao Public  void  save(List<Admin list){    // 目前用这种方式 ...

  9. jdbc java数据库连接 6)类路径读取——JdbcUtil的配置文件

    之前的代码中,以下代码很多时候并不是固定的: private static String url = "jdbc:mysql://localhost:3306/day1029?useUnic ...

随机推荐

  1. C++_系列自学课程_第_10_课_表达式_《C++ Primer 第四版》

    程序设计语言中大部分程序都在进行表达式的求值操作, 例如求两个数的和,求一个表达式的逻辑结果,或者通过输入输出表达式语句进行输入和输出. 这里我们对表达式进行讨论. 一.表达式 1.表达式 表达式由一 ...

  2. ExtJS关于组件Component生命周期

    extjs组件生命周期大体分为3个阶段:初始化.渲染.销毁. 第一阶段:初始化 初始化工作开始于组件的诞生,所有必须的配置设定.事件注册.预渲染处理等都在此时进行. 1.应用组件的配置: 当初始化一个 ...

  3. 【工业串口和网络软件通讯平台(SuperIO)教程】一.通讯机制

    1.1    应用场景 通讯平台的交互对象包括两方面:第一.与硬件产品交互.第二.与软件产品交互.基本这两方面考虑,通讯平台一般会应用在两个场景: 1)通讯平台应用在PC机上 主要应用在自动站的工控机 ...

  4. java web学习总结(十二) -------------------Session

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  5. struts拓展restful

    为restful开发的话,一定要设计到URL,struts正好是管理URL的 所以在struts的项目中用restful,要遵守struts的规则 rest在struts中对应的方法 上面是官方给出的 ...

  6. OData V4 系列 Ajax请求 CRUD

    OData 学习目录 上一篇已经完成了服务创建,本篇主要介绍如何通过Ajax请求Odata服务,OData操作主要有 Get.Post.Patch.Put.Delete等操作.   Post 操作 p ...

  7. nth-child和:nth-of-type的区别

    :nth-of-type为什么要叫:nth-of-type?因为它是以"type"来区分的.也就是说:ele:nth-of-type(n)是指父元素下第n个ele元素, 而ele: ...

  8. CSS3 Gradient 渐变

    转载自:http://www.w3cplus.com/content/css3-gradient CSS3发布很久了,现在在国外的一些页面上常能看到他的身影,这让我羡慕已久,只可惜在国内为了兼容IE, ...

  9. 网络分析之Pgrouting(转载)

    网上关于Pgrouting的使用介绍太简单了,这里想详细的总结一下Pgrouting的使用,其实主要参照官方文档:http://workshop.pgrouting.org/ 第一步:配置环境 关于P ...

  10. ArcGIS 的 Oracle 数据库的要求

    [ArcGIS必打补丁]ArcGIS 10.2.2 for Desktop连接Oracle(2014年10月发布)数据库崩溃的问题 http://blog.csdn.net/linghe301/art ...