java-数据库操作(JDBC)
前言:JDBC用到的API和常用方法
DriverMannager类
加载驱动并创建与数据库的连接,通常使用Class类的静态方法
forName()
来实现加载驱动,使用getConnection(String url,String user,String pwd)
方法实现连接,返回如下Connection对象Connection接口
使用
createStatement()
返回一个用于向数据库发送语句的Statement对象,prepareStatement(String sql)
返回一个用于向数据库发送参数化的SQL语句的PreparedStatement对象Statement接口
用于执行静态SQL语句,并返回一个结果对象
boolean execute(String sql)//用于执行各种SQL语句,返回布尔值,true代表有查询结果,可用getResultSet()获得查询结果
int executeUpdate(String sql)//用于执行insert、update、delete语句,返回数据库中受影响的记录条数
ResultSet executeQuery(String sql)//执行select语句,返回ResultSet对象
PreparedStatement接口
是Statement的子接口,扩展了带有参数SQL语句的执行操作,使用占位符"?"代替参数,使用setXXX()方法赋值
int executeUpdate()//执行SQL语句,限制语句为无返回内容的sql或DML语句
ResultSet executeQuery()//执行SQL查询 返回ResultSet对象
void setInt(int index,int x)//将指定的对应表头的参数设置为x
void setFloat(int index,float x)
void setString(int index,String x)
void setDate(int index, Date x)//注意:Date类型必须为java.sql.Date,非java.util.Date
ResultSet接口
用于保存查询后的结果集,封装在一个逻辑表格中,接口内部有指向表格数据行的游标(指针),调用
next()
方法作为循环条件迭代结果集String getString(int columnindex)//根据索引获取指定字段的String的值
String getString(String columnname)//根据字段名称获取指定字段的String的值
int getInt(int columnindex)//根据索引获取指定字段的int的值
int getInt(String columnname)//根据字段名称获取指定字段的int的值
Date getDate(int columnindex)//根据索引获取字段的Date值
Date getDate(String columnname)//根据字段名称获取字段的Date值
boolean next()//游标下移一行
boolean absolute(int row)//游标移动到指定行
步骤概述:
1.加载数据库驱动
数据库驱动zip包下载:https://dev.mysql.com/downloads/connector/j/
选择Platform Independent,完成后在项目结构中导入文件夹里的Jar包
Class.forName("com.mysql.jdbc.Driver");//Mysql驱动
//IDEA亲测提示上面语句已经弃用,可改为com.mysql.cj.jdbc.Driver""
Class.forName("oracle.jdbc.driver.OracleDriver");//Oracle驱动
2.通过DriverManager获取数据库连接
Connect conn=DriverManager.getConnection(String url,String user,String pwd);
url格式:jdbc:mysql://localhost:3306/database-name
3.通过Connection对象获取Statement对象
Statement stmt=conn.creatStatement();
或stmt=conn.prepareStatement(String sql);
4.使用Statement执行SQL语句
ResultSet rs=stmt.executeQuery(sql);
5.操作得到的结果集
rs.getXXX();
6.关闭连接,释放资源
在try...catch..后的finally{}中统一关闭资源
实例
public class sql {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//1.加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://114.xx.xxx.62:3306/company";
String user = "root";
String pwd = "xxxxxx";
//2.通过DriverManager获取数据库连接
conn = DriverManager.getConnection(url, user, pwd);
//3.通过Connection获取statement对象
stmt = conn.createStatement();
//4.执行SQL语句
rs = stmt.executeQuery("select * from demo1");
//5.操作结果集
while (rs.next()) {
String name = rs.getString("企业名称");
String lat = rs.getString("经纬度");
String flag1 = rs.getString("flag1");
System.out.println(name+" | "+lat+" | "+flag1);
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
//6.关闭连接,释放资源
if(rs!=null){rs.close();}
if(stmt!=null){stmt.close();}
if(conn!=null){conn.close();}
}
}
}
}
运行结果
java-数据库操作(JDBC)的更多相关文章
- 复习java数据库操作的总结
以前学习java数据库操作,学得那叫糊里糊涂,各种JDBC常用的类和接口根本是傻傻分不清啥是干嘛的.只是套着用用吧. 不过这次好歹清楚些了,呜呜,学习有阶段性,多次重复才有好效果,多么痛的领悟. 工程 ...
- Java数据库操作(JDBC)
JDBC Java数据库连接(Java DataBase Connectivity,JDBC)用于在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库 ...
- java数据库操作:JDBC的操作
1,JDBC注意操作类及接口: 数据库操作过程: 1)打开数据库服务 2)连接数据库:一般都要输入用户名,密码, 3)操作数据库:创建表:查询表,更新,记录. 4)关闭数据库. 1,DriverMan ...
- Java数据库操作
一.JDBC 1.JDBC Java数据库连接,用于Java程序中实现数据库操作功能,java.sql包中提供了执行SQL语句,访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口及类. 2. ...
- java程序员从笨鸟到菜鸟之(七)一—java数据库操作
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个 ...
- Java数据库编程(JDBC)
一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...
- 【转载】java数据库操作
数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个重点,今天的任务就是总结java访问数据库的方法和有关API,java访问数据库主要用的方法是JDBC,它是ja ...
- Java数据库操作(MySQL与SQLserver)
在java编程开发中,数据库的开发是重头戏. MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品: SQL Server是由Microsoft开发 ...
- Java 数据库操作
目录 Java数据库组织架构 下载驱动包 连接数据库 连接数据库的三个步骤 连接数据库的高开销 Statement接口介绍 PreparedStatement类 使用PreparedStatement ...
- JAVA数据库编程(JDBC技术)-入门笔记
本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...
随机推荐
- 基于GO语言实现的固定长度邀请码
1. 选取数字加英文字母组成32个字符的字符串,用于表示32进制数. 2. 用一个特定的字符比如`G`作为分隔符,解析的时候字符`G`后面的字符不参与运算. 3. LEN表示邀请码长度,默认为6. g ...
- DB2给表批量赋权
使用DB2的for循环语句给表批量赋权,同理,稍加修改可作为其他批量操作. 值得注意的是: grant语句无法直接执行,需要使用execute immediate才能执行. 授权操作表的所有权限:gr ...
- Jenkins_构建任务提示找不到命令的处理方法
问题现象 部署pytest环境后,在linux上能执行命令,但是使用jenkins构建就提示找不到命令. 问题分析 可能是...jenkins中执行时,默认使用的是linux中的jenkins用户权限 ...
- vue 在实现关键字远程搜索时出现数据不准确的原因
实现通过输入关键字查询项目, 页面搜索规则框部分 js部分 之前通过在data中定义一个变量,然后在methods中filterFn方法获取当时输入的值去后台请求数据,然后把请求的数据存放在state ...
- 拓展 Array 方法
为 Array 对象扩展了一个迭代器之后,就可以利用这个法代器进一步拓展 Array 的方法,使其能够完成更多的实用功能. Array.prototype.each = function( f ) { ...
- VsCode安装与配置
一.安装 二.配置 开启emmet完整的语法 文件-首选项-设置:Emmet: Trigger Expansion On Tab 三.常用插件 必装: Chinese (Simplified) Lan ...
- 硬核 - Java 随机数相关 API 的演进与思考(上)
本系列将 Java 17 之前的随机数 API 以及 Java 17 之后的统一 API 都做了比较详细的说明,并且将随机数的特性以及实现思路也做了一些简单的分析,帮助大家明白为何会有这么多的随机数算 ...
- “伏魔”赏金 | WebShell检测之「模拟污点引擎」首次公测,邀你来战!
安全是一个动态的过程,攻防对抗如同在赛博世界里降妖伏魔,其要义是:取彼之长,补己之短.--伏魔引擎的诞生 伏魔引擎挑战赛 注册时间: 2022.01.10 00:00:00 - 2022.01.24 ...
- python中join()方法介绍
描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法:str.join(sequence) 参数 sequence -- 要连接的元 ...
- 知乎上一个关于Android面试的问题答案
由于链接出错,这里附上原文链接:Touch Me 前段时间面试,自己以及小伙伴们简要的汇总的一些面试问题,可以对照的参考一下吧- 建议就是在面一家公司之前了解好这个公司的app是以什么为驱动的,例如电 ...