JCBD - 4 - JCBD - CRUD操作 即:JDBC常用接口详解
导入源码查看过底层代码啊:
DriverManager
该类的主要作用就是创建连接,在上一节的代码中使用了反射的机制注册了驱动,这里需要注意的是不同的数据库,在forName中的参数写法不同,MySQL的写法:com.mysql.jdbc.Driver。新版MySQL驱动的写法是:com.mysql.cj.jdbc.Driver
获取连接Connection时,调用了DriverManager类中的getConnection方法,该方法在DriverManager类中有几个重载方法:
getConnection(String url);
getConnection(String url,String user, String password);
getConnection(String url,java.util.Properties info); getConnection(String url, java.util.Properties info, Class<?> caller);
该方法的作用就是获取数据库的连接,上面前三个中最终都调用了第4个方法并将数据库连接的一些信息传了过去。
其中java.util.Properties该类是一个跟配置文件相关的类,继承了HashTable类。(用来装用户名和密码): 如下代码可知啊
java.util.Properties info = new java.util.Properties();
info.setProperty("user", "root");
info.setProperty("password","root");
将用户名和密码封装到了info对象中,此时可以调用getConnection(String url,java.util.Properties info);这个方法将info作为参数传递过去。
Statement
该接口的作用是操作sql语句,并返回相应结果的对象。
常用的方法如下:
- ResultSet executeQuery(String sql) 根据查询语句返回结果集。只能执行select语句。
- int executeUpdate(String sql) 根据执行的DML(insert update delete)语句,返回受影响的行数。(一般返回>0 判断即可)
- boolean execute(String sql) 此方法可以执行任意sql语句。返回boolean值,表示是否返回ResultSet结果集。仅当执行select语句,且有返回结果时返回true, 其它语句都返回false;
如果执行增删改操作时,使用executeUpdate方法即可:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class Main {public static void main(String[] args) {try {String sql = "INSERT INTO t_user(name,password,email,birthday) VALUES('hgy','123456','134@qq.com','1993-11-30')";Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jcbd","root","root");Statement statement = conn.createStatement();int x = statement.executeUpdate(sql);if (x > 0){ //x是statement.executeUpdate操作后返回的受影响语句的条数System.out.println("成功!");}} catch (Exception e) {e.printStackTrace();}/** 这里用了增删改的增啊 其他自测啊!* */}}
ResultSet
该接口的作用主要用来封装结果集。
常用的封装数据的方法:getObject(String ColomnName); 根据列名取值(返回的是Object类)。
除了上的方法之外还有:
getObject(int columnIndex); 根据序号取值,索引从1开始
只不过该方法在使用起来可读性不强,不建议使用。
在做查询操作时,可能会返回多条数据结果,此时可以定义一个JavaBean类,将数据封装到该JavaBean中,多条数据的话将此JavaBean放到集合中。
JavaBean: 这个东东就是一个概念:
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
完了
具体自己操作啊 之前学安卓就是用的这个概念!
差不多了 哎···
JCBD - 4 - JCBD - CRUD操作 即:JDBC常用接口详解相关推荐
- JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- QT:常用函数详解--常用操作记录(个人笔记)
QT:常用函数详解(个人笔记) PS:一下内容个人笔记,要求自己看懂,随笔,阅读体验会很差很差! Qt setContentsMargins()函数 函数原型:void QLayout::setCon ...
- MySQL常用操作之创建存储过程语法详解
MySQL常用操作之创建存储过程语法详解 前言 简介 语法 创建结构 变量结构 入参变量和出参变量 流程控制 判断(IF 语句) 判断(CASE 语句) 循环(LOOP 语句) 循环(WHILE 语句 ...
- docker常用命令详解
docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...
- Samtools(CentOS Linux)安装及常用命令详解
序列比对(将测序reads与已知序列信息的基因或基因组进行比对)是高通量测序数据分析中最重要的一环,无论是转录组还是重测序都是基于比对结果来进行后续各项分析的,比对结果格式比较常见的是sam和bam文 ...
- Ansible基本使用及常用模块详解
一.ansible基本使用 定义主机组 定义被管理节点列表的文件/etc/ansible/hosts,在定义被管理节点的时候,可以单独基于主机做定义,也可以将多个主机定义成一个主机组. 在上篇博文安装 ...
- python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...
Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...
- logback 常用配置详解(二) appender
详细整理了logback常用配置 不是官网手册的翻译版,而是使用总结,旨在更快更透彻的理解其配置 logback 简介 logback常用配置详解(一)<configuration> an ...
- SQL Server 2005 常用数据类型详解
SQL Server 2005 常用数据类型详解 [b]1. 字符串数据类型[/b] char 此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定:如未指定,默认为char(1).每个字 ...
最新文章
- IT从业者进阶指南:如何提升自身的不可替代性
- 计算机主板揭秘(上)图文并茂版
- 【WPF】提高InkAnalyer手写汉字识别的准确率
- 求 1-100 之间不能被 3 整除的数之和
- CSS3——CSS行内元素和块级元素的转换
- 计算机vb期末试题及答案,VB期末考试试题及答案
- 哈工大教授车万翔「自然语言处理中的伪数据」
- 【转载】教你怎么将centos7打造成桌面系统
- mis是商科还是计算机专业,MIS是什么?管理信息系统MIS和计算机科学CS有什么区别?...
- ES查询结果全局高亮
- 固态硬盘安装Win7双系统
- python--生成器
- djyvp计算机电缆连接,DJYVP 计算机电缆DJYVPDJYVP电缆
- 算法24c语言,EEPROM(AT24C16)页写算法
- MATLAB中的直方图阈值处理
- 转:中国移动宽带光猫F663路由模式改桥接模式
- mini2440 led驱动
- mac服务器文件同步软件,[MACOS]使用fswatch和SCP配合实现自动单向实时同步文件
- CarSim仿真快速入门(十一)—驾驶员模型(1)
- react 基础 - 01 (快速入门:脚本引入、JSX语法)
热门文章
- 美团企业版背后,费控和「know-how」的双重苦战
- ChatGPT使用指南:英文简历定制新利器
- 【技术白皮书】第二章:OCR智能文字识别回顾——自然语言文本发展历程
- 剑侠情缘三显示连接服务器超时,剑侠情缘手游进不去怎么办?重连黑屏解决办法攻略...
- 深度linux夜间模式,在Linux下安装Yin-Yang以在KDE中设置自动夜间模式
- AI(Adobe Illustrator)中的选择工具和直接选择工具有什么区别?
- Java连接Mysql数据库警告:Establishing SSL connection without server's identity
- 各编程语言 + aardio 相互调用示例(简易代码)
- What is Comunion 2022?
- 【FinE】红利对期权价格的影响