Jdbc

本文介绍了Java数据库连接(JDBC)的基本概念与使用方法,包括如何注册驱动、建立数据库连接、执行SQL语句及处理结果集等核心步骤,并提供了一些实用的示例代码。

一、JDBC概述
1、Java Data Base Connectivity(java数据库连接)
2、组成包:java.sql.;javax.sql.;这两个包都包含在了JDK中。
3、还需要数据库的驱动,这些驱动就相当于对JDBC规范的实现
二、JDBC的编码步骤
1、把数据库的驱动加入到classpath中 (方法是拷贝mysql-connector-java-5.0.8-bin.jar 到工程下然后buildpath)
2、开发步骤:
1、注册驱动
2、获取与数据库的链接 .properties
3、得到代表SQL语句的对象
4、执行语句
5、如果执行的是查询语句,就会有结果集,处理
6、释放占用的资源

package com.zh.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo1 
{
    public static void main(String[] args) throws ClassNotFoundException, SQLException 
    {
        Class.forName("com.mysql.jdbc.Driver");  //注册驱动       驱动包名 com.mysql.jdbc   Driver 类
        //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?user=root&password=root");   //注意这种办法url后面添加参数注意不要随意添加空格
       Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","root");  
       //  url中mysql的位置可以是sqlservice  根据是数据库的类型定
       Statement stmt = conn.createStatement(); 
       ResultSet  rs = stmt.executeQuery("select * from  stu");  // 执行sql语句
       while(rs.next())
       {
           System.out.println(rs.getInt("id")+":"+rs.getString("name")+":"+ rs.getString("address"));
       }
       //关闭链接,关闭命令对象,关闭结果集。
       rs.close();
       stmt.close();
       conn.close();
    }
}

JDBC的增删改查:
创建sql语句示例:
String sql = “insert into stu(id,name,sex) values(12,’东东’,’男’)”;
1、Statement 命令对象 Jdbc程序中的Statement对象用于向数据库发送SQL语句, Statement对象常用方法:
就是执行sql语句的;
executeQuery(String sql) :用于向数据发送查询语句。
executeUpdate(String sql):用于向数据库发送insert、update或delete语句
addBatch(String sql) :把多条sql语句放到一个批处理中。
executeBatch():向数据库发送一批sql语句执行。
2、ResultSet
Jdbc程序中的ResultSet用于代表Sql语句的执行结果。Resultset封装执行结果时,采用的类似于表格的方式。ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。
ResultSet还提供了对结果集进行滚动的方法:
next():移动到下一行
Previous():移动到前一行
absolute(int row):移动到指定行
beforeFirst():移动resultSet的最前面。
afterLast() :移动到resultSet的最后面。

package com.zh.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcDemo4 {
    public static void main(String[] args) throws ClassNotFoundException,
            SQLException {
        Class.forName("com.mysql.jdbc.Driver"); // 注册驱动 包名 com.mysql.jdbc Driver
                                                // 类
    Connection conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/mydb", "root", "root");  //创建的是连接对象
        Statement stmt = conn.createStatement();    // 创建执行sql语句的命令对象  Statement
        // 创建一个sql语句
        //
        // String sql
        // ="insert into stu(id,name,age,address,sex) values(12,'东方不败',20,'湖南','男')";//      添加
        // int n = stmt.executeUpdate(sql); //返回一整型 就是执行结果影响的记录数。
        // String sql = "update stu set name='张刘子'where id=12"; //    改 修改 update tablename set 字段名where 
        String sql = "delete from stu where id =12";   // 删除  delete from tablename where 字段名
        int n = stmt.executeUpdate(sql);

        System.out.println(n);   // 需要注意的是这如果是增加的sql语句结果第一次是1,对于第二次就会因为主键的原因执行会抛出                                                 
                                                                               异常报出错误。
        // 关闭链接,关闭命令对象,

        stmt.close();
        conn.close();
    }
}

结果集 ResultSet 用while循环的原因是 游标在第一条记录的前面。//Before start of result set
url的写法:
URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
jdbc:mysql:[]//localhost:3306/test ?参数名=参数值
协议 子协议 主机端口号 数据库
常用数据库URL地址的写法:
Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
SqlServer—jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
MySql—jdbc:mysql://localhost:3306/sid
Mysql的url地址的简写形式: jdbc:mysql:///sid 这个省略的只能是本机的 localhost:3306
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

常用数据类型转换:
sql类型                          Jdbc对应方法                              返回类型
Text(clob)  Blob               getClob getBlob()                         Clob  Blob
DATE                             getDate()                               java.sql.Date
TIMESTAMP                      getTimestamp()                             java.sql.Timestamp 
CHAR,VARCHAR,LONGVARCHAR       getString()                                String
BIGINT                         getLong()                                   Long
SMALLINT                      getShort()                                  Short
Int                            getInt()                                    Int
**高校专业实习管理平台设计与实现** 本设计项目旨在构建一个服务于高等院校专业实习环节的综合性管理平台。该系统采用当前主流的Web开发架构,基于Python编程语言,结合Django后端框架与Vue.js前端框架进行开发,实现了前后端逻辑的分离。数据存储层选用广泛应用的MySQL关系型数据库,确保了系统的稳定性和数据处理的效率。 平台设计了多角色协同工作的管理模型,具体包括系统管理员、院系负责人、指导教师、实习单位对接人以及参与实习的学生。各角色依据权限访问不同的功能模块,共同构成完整的实习管理流程。核心功能模块涵盖:基础信息管理(如院系、专业、人员信息)、实习过程管理(包括实习公告发布、实习内容规划、实习申请与安排)、双向反馈机制(单位评价与学生反馈)、实习支持与保障、以及贯穿始终的成绩评定与综合成绩管理。 在技术实现层面,后端服务依托Django框架的高效与安全性构建业务逻辑;前端界面则利用Vue.js的组件化特性与LayUI的样式库,致力于提供清晰、友好的用户交互体验。数据库设计充分考虑了实习管理业务的实体关系与数据一致性要求,并保留了未来功能扩展的灵活性。 整个系统遵循规范的软件开发流程,从需求分析、系统设计、编码实现到测试验证,均进行了多轮迭代与优化,力求在功能完备性、系统性能及用户使用体验方面达到较高标准。 **核心术语**:实习管理平台;Django框架;MySQL数据库;Vue.js前端;Python语言。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
在电磁散射与雷达技术的研究中,涉及粗糙表面电磁特性模拟的核心概念包括统计参数化建模方法、不同电场矢量方向的极化模式、特定方向的能量反射现象、理想化波前模型以及具有随机起伏特征的界面。以下是对这些要点的系统阐述: 统计参数化建模是一种基于表面统计特征描述其不规则性的电磁散射计算方法,尤其适用于均方根高度较小的粗糙界面在微波至毫米波频段的散射特性分析。 水平极化与垂直极化分别指电场矢量平行于地面和垂直于地面的振动状态。在雷达探测中,采用不同的极化模式有助于提升目标辨识度并抑制环境干扰。 当电磁波与物体相互作用时,部分能量沿接近入射方向返回,这种现象称为反向散射。其在雷达系统的探测灵敏度与目标特征分析中具有关键作用。 平面波是在均匀介质中传播的理想波型,其电场与磁场分布保持一致的相位关系,常作为理论简化模型用于电磁问题的解析与数值计算。 粗糙界面指具有随机起伏特征的表面,其不规则程度可通过均方根高度进行量化。这种结构特性会改变电磁波的传播路径与能量分布,进而影响信号的接收与处理。 相关压缩文件可能包含了实现上述建模方法的程序代码,通常采用数值计算语言编写,用于模拟不同极化状态下粗糙表面对平面波的反向散射响应。通过此类仿真,能够预测各类场景下的散射参数,为雷达系统设计与遥感数据解译提供理论依据。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
本资源包提供了一套针对五层办公建筑的完整毕业设计资料,总建筑面积为5324平方米,采用钢框架作为主要承重体系。该资料集整合了结构计算文档、建筑方案图及结构施工图等核心内容,可作为土木工程专业高年级学生深入理解实际工程应用的典型教学案例。以下为各组成部分的要点阐述: 1. **钢框架承重体系**:作为一种广泛应用于多层及高层建筑的结构形式,钢框架具备优异的承载能力、较轻的自重以及较高的施工效率。设计过程中需重点考量钢材的强度特性、耐久性能、防火处理及防锈措施。 2. **毕业设计任务**:此环节是土木工程专业学生在完成理论课程后进行的综合性实践训练,旨在通过模拟真实工程问题,提升其综合运用专业知识解决复杂技术难题的能力。 3. **结构计算文件**:作为设计的技术核心,该文件系统完成了各类荷载的统计与组合、整体稳定性验算、主要构件截面设计以及节点连接计算等内容,以确保结构在安全性与经济性方面达到平衡。 4. **计算机辅助设计源图**:采用CAD软件绘制的图纸源文件完整保留了建筑与结构设计的全部几何与标注信息,便于后续调整、深化及专项分析。 5. **建筑方案设计**:涵盖各层平面功能布局、立面造型设计与剖面构造详图,需综合考虑使用需求、空间组织、自然采光与通风效率以及节能设计原则。 6. **结构系统设计**:包括基础选型与布置、柱梁体系设计、楼盖系统选型,并需进行抗震设防与风荷载作用下的专项分析,以确保整体结构具有足够的刚度、强度与稳定性。 7. **工程建造设计流程**:涉及从地质勘察、施工组织设计、进度计划编制到质量与安全控制的全过程,是实现设计意图、完成实体建造的关键环节。 8. **高等教育应用**:本资料适用于高等院校相关专业的案例教学,能够帮助学生建立理论知识与工程实践之间的联系,强化其解决实际问题的综合技能。 9. **房地产开发关联**:此类设计方案在房地产项目中直接影响开发成本、产品定位与建设周期,是开发商、设计单位及施工方协同工作的重要技术基础。 通过系统研习本资料,学习者可全面掌握土木工程项目从方案构思、技术计算到施工图绘制的完整工作流程,对于深化专业认知、培养工程实践能力具有显著助益。同时,该案例亦展示了如何运用现代设计工具统筹考虑结构安全、建筑功能与经济可行性等多重目标。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值