JDBC原理及应用模板
JDBC 原理及其使用方法
说明:以下内容来源于B站颜群老师的课堂笔记,我只是对其进行了摘抄和整理。
JDBC:Java DataBase Connectivity (java数据库连接对象)
可以为多种关系型数据库提供统一的访问方式,用Java操纵数据库
JDBC API:提供各种操作访问接口 --> Connection Statement PreparedStatement ResultSet
JDBC DriverManager:管理不同的数据库驱动
各种数据库驱动:相应的数据库厂商提供的(第三方公司提供),连接\直接操作数据库
JDBC API的主要功能:
具体是通过以下类/接口实现:
- DriverManager: 管理jdbc驱动
- Connection:连接
- Statement(PreparedStatement):增删改查
- CallableStatement :调用数据库中的存储过程 / 存储函数
- Result:返回的结果集
JDBC访问数据库的具体步骤:(模板,每次写都一样)
导入驱动,加载具体的驱动类
与数据库建立连接
发送SQL,执行
处理结果集
数据库驱动:
Oracle ojdbc-x.jar
MySQL mysql-connector-java-x.jar
SqlServer sqljdbc-x.jar
mysql的驱动类包在maven下载 com.mysql.jdbc.Driver
模板
增删改的操作是一样的: 只需要写一个模板然后修改SQL语句就可以了
import java.sql.*;
public class JDBCDemo{private static final String URL = "jdbc:mysql://localhost:3306/DBMIS?useUnicod=true&characterEncoding=utf-8"; //设置编码,防止中文乱码private static final String USERNAME = "root";private static final String PWD = "****";public static void insert(){Statement stmt = null; //关闭时,对象不能为null,所以需要异常处理try{//a.导入驱动,加载具体的驱动类Class.forName("com.mysql.jdbc.Driver");//b.与数据库建立连接 --通过 DriverManagerConnection conn = DriverManager.getConnection(URL,USERNAME,PWD);//c.发送SQL执行命令(增删改查)Statement stmt = conn.createStatement();String sql1 = "insert into DBMIS.tb_userAccount values(1,'张三',20,'IS')"; //增加String sql2 = "delete from DBMIS.tb_userAccount where stu_id=1"; //删除String sql3 = "update DBMIS.tb_userAccount set stu_name='李四' where stu_id=2"; //修改//执行SQL语句int count = stmt.executeUpdate(sql1); //返回值表示 增删改 几条数据//d.处理结果if(count>0){System.out.println("操作成功!");} }catch(ClassNotFountException e){e.printStackTrace();}catch(SQLException e){e.printStackTrace();}catch(Exception e){e.printStackTrace();}finally{try{//为了防止空指针异常if(stmt!=null)stmt.close();if(conn!=null)conn.close();}catch(SQLException e){e.printStackTrace();}}
}
一般为了提高代码利用率会用另一种方式来连接数据库获取数据。
JDBC原理及应用模板相关推荐
- 【JDBC】jdbc原理总结
1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库 ...
- 数据库连接JDBC原理
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 数据库连 ...
- Java数据库持久层框架基础:jdbc原理和使用综述
Java数据库持久层框架基础:jdbc原理和使用综述 前言 jdbc基础架构 jbdc的使用 jdbc的主要接口 驱动 连接 连接池 会话Statement 结果集ResultSet 前言 目前jav ...
- 吃透MySQL(二):JDBC原理及源码解析
文章目录 一,JDBC使用 二,JDBC原理 1,JDBC基本原理 2,Java SPI机制 三,JDBC源码分析 自JDBC4.0开始,Class.forName(""),可以省 ...
- JDBC 简介 JDBC 原理
JDBC 简介 JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 JavaAPI,可以为多种关系 数据库提供统一访问,它由一组用 ...
- java 模板实现原理,Java Web 模板代码生成器的设计与实现详解
起因 项目中需要根据数据库表写很多Meta.Dao.Service代码,其中很多代码都是重复而繁琐的.因此如果有一个模板代码的生成器,就可以一定程度提高开发效率. 目标 可配置生成Java Web项目 ...
- 理解Sharding jdbc原理,看这一篇就够了
相比于Spring基于AbstractRoutingDataSource实现的分库分表功能,Sharding jdbc在单库单表扩展到多库多表时,兼容性方面表现的更好一点.例如,spring实现的分库 ...
- JDBC原理,JDBC基础编程
JDBC WHAT IS JDBC Java Database Connectivity:Java访问数据库的解决方案. JDBC是Java应用程序访问数据库的里程碑式解决方案.Java研发者希望用相 ...
- JDBC原理实现详解
看目录 JDBC 一.JDBC是什么? 二.JDBC的本质是什么? 三.JDBC的意义 四.JDBC编程六步 五.JDBC注册驱动常用方式 六.从属性资源文件中读取连接数据库资源 七.处理查询结果集 ...
最新文章
- JavaScript中的字符串操作(转)
- Git@OSC 增加 SVN 支持
- 【Java 虚拟机原理】Class 字节码二进制文件分析 四 ( 字段表数据结构 | 字段表详细分析 | 访问标志 | 字段名称 | 字段描述符 | 属性项目 )
- myeclipse + tomcat 项目自动部署
- 基于jsp的教师科研工作量_基于jsp+mysql的JSP教师科研信息管理系统
- 现在多少钱能和以80年代的万元户持平?
- ubuntu系统安装vscode教程
- 工作389-移动端控制
- sqlmap --os-shell反制小思路
- quot;在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvokequot;
- sql server列转行怎么提高效率_行转列、列转行
- C++ 复杂、内存漏洞,2019 年的软件开发并不安全!
- lnmp+lamp编译后,编译参数查看
- 直线绘制算法-数值微分法(DDA)
- python函数的调用顺序,python 函数调用顺序
- 笔记本硬盘直接安装win7系统教程(不用U盘和PE)
- 【MyBatis-Plus】CRUD 操作
- unix 简单的命令
- DNS劫持与路由器DNS劫持漏洞详解(附防护方法)
- 你还不清楚某个系统文件的作用吗?Windows_xp系统文件详解【大全】
热门文章
- E06-libcrypto.so.10 遗失的解决办法
- 一个轻量级分布式RPC框架--NettyRpc
- [vijos1162]波浪数
- SQL2005存储过程解密
- Gartner磁盘阵列魔力象限:华为、昆腾、Infinidat势头迅猛
- 设置环境变量ANDROID_SDK_HOME有什么用?
- php遍历文件夹及其子文件夹并计算所占的磁盘空间
- android中如何通过代码检测是否有root权限?
- Http Ajax技术哪家强?Axios、Superagent、Request、Fetch、Supertest技能大比拼!
- Vue前端和Java后端 联调使用AES 前后端加密解密