一.执行DDL、DML语句

DDL、DML分别表示数据库定义语言、数据库操纵语言,操控这两种语言应该使用Statement对象的executeUpdate方法。

代码如下:

public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");//加载驱动
//获得一个物理会话
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399");
//得到一个Statement对象
Statement stat=conn.createStatement();
String DDL_sql="create table if not exists tab(tab_id varchar(10) primary key,tab_name varchar(20))";
String DML_sql="insert into tab values('T0002','狗王')";
System.out.println(stat.executeUpdate(DDL_sql));//输出执行DDL语句的返回值
System.out.println(stat.executeUpdate(DML_sql));//输出执行DML语句的返回值
}

结果如下:对于DDL语句返回的是0,对于DML语句返回的是受影响的行数。

二.执行DQL语句

对于查询语句应该使用Statement对象的executeQuery方法代码如下:

     Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399");
Statement stat =conn.createStatement();
String DQL_sql="select * from tab";
ResultSet rs=stat.executeQuery(DQL_sql);

得到的是一个ResultSet的结果集。

三.使用PreparedStatement执行SQL语句

一个预处理的Statement对象。代码如下:

package StudyJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; /**
* @ClassName PreparedStatementText
* @Author 真正的小明被占用了
* @Date 2018/10/21/021 11:15
* @Version 1.0
*/
public class PreparedStatementText { public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn =DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399");
//创建一个PreparedStatement对象
PreparedStatement perpare=conn.prepareStatement("insert into tab values (?,?)");//对象在创建之初就有了预编译
perpare.setString(1,"T00003");//设置第一个占位符的类型和值
perpare.setString(2,"李武");//设置第二个
perpare.executeUpdate();//执行的还是DML语句所以使用executeUpdate方法
}
}

四.查询结果管理集

package StudyJDBC;

import java.sql.*;
import java.util.ArrayList; /**
* @ClassName ReasultSetText
* @Author 真正的小明被占用了
* @Date 2018/10/21/021 13:48
* @Version 1.0
*/
public class ReasultSetText { public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399");
Statement stat=conn.createStatement();
//创建一个结果集接受查询结果
ResultSet rs=stat.executeQuery("select * from tab");
//现在rs结果集有三行三列,
rs.next();//第一行
System.out.println(rs.getString("tab_id"));
rs.absolute(2);//跳转到第二行
System.out.println(rs.getString("tab_id"));
rs.first();//直接回到第一行
System.out.println(rs.getString("tab_id"));
rs.close();
}
}

JDBC中执行SQL语句的方式的更多相关文章

  1. JDBC中执行sql语句的 增 , 删 , 改 , 查 的方法

    executeQuery()  : 执行 SELECT 语句,它几乎是使用最多的 SQL 语句 executeUpdate() :   执行 INSERT.UPDATE 或 DELETE 语句以及 S ...

  2. Java JDBC下执行SQL的不同方式、参数化预编译防御

    相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...

  3. [转]在EntityFramework6中执行SQL语句

    本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有 ...

  4. 在EntityFramework6中执行SQL语句

    在EntityFramework6中执行SQL语句 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语 ...

  5. 在EF中执行SQL语句(转载)

    在EF中执行SQL语句   你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除 ...

  6. 在EntityFramework6中执行SQL语句【转】

    在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语句. 你可能要问,我用EF不就为了避免写SQL吗?如 ...

  7. nhibernate中执行SQL语句

    在有些时候,可能需要直接执行SQL语句.存储过程等,但nhibernate并没有提供一种让我们执行SQL语句的方法,不过可以通过一些间接的方法来实现. 下面给出一个在nhibernate中执行SQL语 ...

  8. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  9. 在JDBC中实现SQL语句的模糊查询

    在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...

随机推荐

  1. 错误处理:error(0) error portability:3 this xilinx application has run out of memory has encountered a memory conflict

    在FPGA侧提供了一个gp0,gp1各占1m内存的版本后.生成mcs版本,在下载版本时报错: error(0) error portability:3 this xilinx application ...

  2. postman-SSL证书问题-支持HTTPS请求

    使用Google接口调试插件postman请求https协议的接口,postman提示: 为此,需要解决这个问题,提示信息已经给出了解决方案!Using self-signed SSL certifi ...

  3. 深度学习硬件:CPU、GPU、FPGA、ASIC

    人工智能包括三个要素:算法,计算和数据.人工智能算法目前最主流的是深度学习.计算所对应的硬件平台有:CPU.GPU.FPGA.ASIC.由于移动互联网的到来,用户每天产生大量的数据被入口应用收集:搜索 ...

  4. calc属性

    在单个元素,或者多个可重复css元素使用,    如width: calc(100% - 100px);此元素宽度等于父级宽度下减100像素

  5. S2T40,第五章

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. 用git提交源代码

    码云账号 markliuning      作业已经上传 题目要求:定义一个包含有10个整数的数组a并初始化,定义一个指针变量p,p指向数组a,定义函数fun,在fun内部访问数组,并打印出数组中各元 ...

  7. 【webpack学习笔记】a06-生产环境和开发环境配置

    生产环境和开发环境的配置目标不一样,生产环境主要是让文件压缩得更小,更优化资源,改善加载时间. 而开发环境,主要是要开发更方便,更节省时间,比如调试比如自动刷新. 所以可以分开配置不同的开发环境,然后 ...

  8. nginx + gunicorn + flask项目发布

    程序安装(linux mint) gunicorn安装:pip install gunicorn nginx安装:sudo apt-get install nginx 配置 nginx默认配置信息在/ ...

  9. Git实操

    使用git首先要理解工作区(working).暂存区(stage或者index).和版本库(repo区),很多命令都是和这三个概念相关的. git init 初始化git仓库,会生成默认的.git文件 ...

  10. 第1次作业—— 熟悉 MoocTest环境

    2.1 Mooctest 使用心得 Mooctest很方便,可以即时测评自己写的测试代码,获得覆盖率和报告,不需要自己安装配置环境 而且安装配置插件的环境也很简单,可以专注于测试本身 2.2 Juni ...