JDBC复习(总结)

FreeRTOS-Plus-CLI在STM32F429上的高效移植与调试技巧 本文详细介绍了如何将FreeRTOS-Plus-CLI高效移植到STM32F429平台,并分享关键的调试技巧。内容涵盖使用HAL库进行底层驱动适配(特别是DMA+IDLE中断方案)、工程集成、自定义命令开发以及常见问题解决方案,旨在帮助开发者快速为嵌入式系统添加强大的命令行调试接口,提升开发与维护效率。 阅读详情

JDBC复习
String url = "jdbc:mysql://localhost/portal?useUnicode=true&characterEncoding=gb2312";
String username= "root";
String password= "";
String sql="";
使用JDBC四步曲:
加载JDBC驱动器:Class.forName("com.mysql.jdbc.Driver");
使用此驱动器打开数据库连接:Connection conn=DriverManager(url,username,password);
创建PreparedStatement对象处理SQL语句:PreparedStatement ps=conn.prepareStatement(sql);或者Statement stmt=conn.createStatement();
处理SQL返回的结果集:ResultSet rs=ps.executeQuery();/int a=ps.executeUpdate();或者ResultSet rs=stmt.executeQuery(sql);/int a=stmt.executeUpdate(sql);

JDBC驱动器:
类型1:JDBC-ODBC桥,通过一个中间ODBC驱动器连接到数据库
类型2:本地API,使用本地方法调用厂家指定的API函数
类型3:纯JAVA到数据库中间件,使用到中间件服务器的网络协议进行通信,此中间件服务器再与数据库通信
类型4:纯JAVA直接到数据库,直接调用数据库使用的本地协议

四种执行方法:
executeUpdate():处理INSERT,UADATE,DELETE,CREATE,DROP语句,返回已修改行的行数
executeQuery():处理SELECT语句,返回结果集
execute():可处理上述两种情况,返回一个指出其结果是否是一个修改数量或结果集的boolean值
executeBatch():批处理,可以提高处理速度。处理多个修改语句,返回更新计数组成的一个数组。具体方法如下:
    Connection conn=DriverManager(url);
    Statement stmt = con.createStatement();
    con.setAutoCommit(false);   //设置为不是自动提交事务
    stmt.clearBatch();  //重置批处理为空
    stmt.addBatch("INSERT INTO test VALUES('1','1')");  //向批处理加入一个修改语句
    stmt.addBatch("INSERT INTO test VALUES('2','2')");
    stmt.addBatch("INSERT INTO test VALUES('3','3')");
    stmt.addBatch("INSERT INTO test VALUES('4','4')");
    int[] updateCounts = stmt.executeBatch();  //确认批处理,并搜索修改计数
    con.commit(); //提交事务


尽量使用PreparedStatement,不要使用Statement。不仅可以提高处理性能,而且可以避免动态语法错误。PreparedStatement与Statement的另一个区别是使用PreparedStatement可以在SQL中设置参数,通过?来表示参数。这些参数用作语句中的占位符,在执行前必须赋值。赋值方法是通过ps.setString(int i,String str);或者ps.setXxx(int i,xxx x);可以用于所有的数据类型。其中第一个参数i是参数出现的序列号,第二个参数是要插入的值。

SQL与PL/SQL的区别:
SQL是标准的结构化查询语言
PL/SQL是ORACLE对标准数据库语言的扩展,在标准SQL中加入了变量声明,异常处理,过程,函数,IF...ELSE...  , For....等的SQL

CallableStatement:
CallableStatement是PreparedStatement的子类,它扩展了PreparedStatement,同样可以设置SQL参数值。CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement 对象所含的内容。创建CallableStatement的方法:CallableStatement cstmt=conn.prepareCall(sql);
在 JDBC 中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方括号本身并不是语法的组成部份:{call 存储过程名称[(?, ?, ...)]}。
关于存储过程,有待进一步学习。

元数据:
元数据(Metadata)是关于数据的数据或关于信息的信息。例如:书的文本就是书的数据,而书名、作者、版权数据都是书的元数据。如果打一个形象的比喻,元数据可以看成是一个路标,它能帮助用户从浩如烟海的数据中迅速找到符合特定需求的信息。一般数据库系统用他来表示数据的信息,例如数据的类型,长度,存放位置等关于数据的信息用来管理和维护数据。元数据是从不同系统中提取出来的关键数据,可以帮助用户迅速找到所需的信息。元数据的使用,可以大大提高系统的检索和管理的效率。连接和结果集的大量信息可以从元数据对象中得到,JDBC提供了两个元数据对象类型DatabaseMetaData和ResultSetMetaData。
 

超强干货之---Python-数据爬取(爬虫) 定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。 阅读详情

相关推荐

AMBA-CHI协议详解(二)

读事务,写事务,原子事务,Stash事务,Dataless事务,DVM事务,Retry事务。

Crazzy_M的博客 6534

java 禁止执行删除sql,java.sql.SQLException:批处理期间发生错误:必须执行或清除批处理...

I am gettingjava.sql.SQLException: error occurred during batching: batch must beeither executed or clearedin the below code. I want to execute two queries.String sql_query="insert into m_status values...

weixin_29960041的博客 679

TOGAF架构内容—TOGAF 内容框架和企业元模型

TOGAF架构内容—TOGAF 内容框架和企业元模型

深圳市多克创新科技有限公司 1640

关于JDBC用法的练习

/**已安装了microsoft 驱动程序jdk1.4; win2000 server;  MS sql2000;*/import java.sql.*;class sql{ public static void main(String[] agrs) {Connection  cn=null;Statement stmt=null;String     sql=null; 

newmcz的专栏 1848

executeBatch()详解

JDBC提供了数据库batch处理的能力,在数据大批量操作(新增、删除等)的情况下可以大幅度提升系统的性能。 // 关闭自动执行 con.setAutoCommit(false); Statement stmt = con.createStatement(); stmt.addBatch(INSERT INTO employees VALUES (1000, ‘Joe Jones’)); st...

weixin_45535710的博客 2万+

JDBC batch批处理Statement executeBatch 详解

JDBC提供了数据库batch处理的能力,在数据大批量操作(新增、删除等)的情况下可以大幅度提升系统的性能。我以前接触的一个项目,在没有采用batch处理时,删除5万条数据大概要半个小时左右,后来对系统进行改造,采用了batch处理的方式,删除5万条数据基本上不会超过1分钟。看一

Base 8万+

JDBC复习总结

JDBC开发JDBC简介ODBC(Open Database Connectivity) -一个以C语言为基础去访问SQL为基础数据库引擎的接口,提供一致的接口用于和数据库沟通及访问数据 JDBC:Java Database Connectivity -Java版的ODBC -1996年由SUN公司提出JDBC API[两部分]: -应用程序开发接口:提供给应用开发人员使用 -驱动程序开发接口:提供

Oliver_W的博客 511

oracle中 connect by prior 递归算法

oracle中 connect by prior 递归算法 如果表中存在层次数据,则可以使用层次化查询子句查询出表中行记录之间的层次关系基本语法:[ START WITH CONDITION1 ]CONNECT BY [ NOCYCLE ] CONDITION2[ NOCYCLE ]参数暂时不解释例:select empno, ename, job, mgr, hiredate, sal,...

weixin_30457551的博客 1637

oracle中 connect by prior 递归算法 -- 理解

oracle中 connect by prior 递归算法 -- 理解 http://blog.163.com/xxciof/blog/static/7978132720095193113752/ oracle中 connect by prior递归算法Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,...

L136170731的博客 61

Oracle中 connect by prior 递归算法

connect_by_root, sys_connect_by_path, connect_by_isleaf, CONNECT_BY_ISCYC with tbl as ( select 'A' as parent_cd, 'C' as child_cd from dual union all select 'A' as parent_cd, 'D' as child...

极客神殿 464

oracle中 connect by prior 递归算法收藏

oracle中 connect by prior 递归算法收藏 收藏 Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with 条件1 connect by 条件2 where 条件3; 例: sele...

口乃心之门户 146

[DB][OARCLE]Oracle中树形数据(父子项数据)检索的CONNECT BY PRIOR 递归算法

 Oracle中树形数据(父子项数据)检索的CONNECT BY PRIOR 递归算法1、完整的例子: SELECT PID,ID,NAME,DEPTID,LEVEL, SYS_CONNECT_BY_PATH(NAME,/), CONNECT_BY_ROOT PID AS ROOTID FROM T_WF_ENG_WF

王德封-逐浪 2152

oracle中 connect by prior 递归算法[转]

博客地址:http://xxciof.blog.163.com/blog/static/7978132720095193113752/   oracle中 connect by prior 递归算法 Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablenam...

rj0801zxh 185

U-Claw 虾盘-OpenClaw 离线安装 U 盘 插上就能用,双击就安装 Mac / Windows / Linux 通用,安装和运行全程使用国内镜

U-Claw 虾盘 - OpenClaw AI 助手离线安装 U 盘 | 提供远程维护·定制开发·企业私有化部署服务。U-Claw(虾盘)是一个制作教程 + 全套源代码,教你把 OpenClaw(开源 AI 助手框架)做成 U 盘——插上任意电脑,双击就能用 AI。为什么叫虾盘?U-Claw = USB + Claw(虾钳),U 盘 + AI = 虾盘。代码库本身就是 U 盘的文件骨架,运行 setup.sh 补齐大依赖后,整个 portable/ 目录直接拷贝到 U 盘即可。

管家婆工贸ERP M7 v25.5.zip

管家婆工贸ERP M7 v25.5.zip

上一篇: JSP中的几个问题
下一篇: 会话跟踪的四种方法
andyjava2006
博客等级 码龄20年 1粉丝 9原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值