当前位置: 首页 > wzjs >正文

中国质量建设协会网站网站建设的多少钱

中国质量建设协会网站,网站建设的多少钱,网页链接打不开,网站推广的概念达梦数据库应用开发_JDBC接口介绍 1 JDBC是什么?2 JDBC主要类或接口介绍2.1 建立与 DM 数据库的连接2.2 转接发送 SQL 语句到数据库2.3 处理并返回语句执行结果 3 JDBC基本使用3.1 前期准备3.2 增删改查代码示例3.3 绑定变量操作示例3.4 大字段操作示例 1 JDBC是什么…

达梦数据库应用开发_JDBC接口介绍

  • 1 JDBC是什么?
  • 2 JDBC主要类或接口介绍
    • 2.1 建立与 DM 数据库的连接
    • 2.2 转接发送 SQL 语句到数据库
    • 2.3 处理并返回语句执行结果
  • 3 JDBC基本使用
    • 3.1 前期准备
    • 3.2 增删改查代码示例
    • 3.3 绑定变量操作示例
    • 3.4 大字段操作示例

1 JDBC是什么?

JDBC 全称为 Java Database Connectivity,也就是 Java 数据库连接,是 Java 应用程序与数据库的接口规范,旨在让各数据库开发商为 Java 程序员提供标准的数据库应用程序编程接口 (API) 。JDBC 定义了一个跨数据库、跨平台的通用 SQL 数据库 API。

JDBC 驱动程序的主要功能包括:

1.建立与 DM 数据库的连接。
2.转接发送 SQL 语句到数据库。
3.处理并返回语句执行结果。

2 JDBC主要类或接口介绍

2.1 建立与 DM 数据库的连接

java.sql.DriverManager:
用于管理驱动程序、并可与数据库建立连接。其类中的方法均为静态方法。
java.sql.Connection:
数据库连接类,作用是管理执行数据库的连接,可用于提交和回滚事务、创建Statement对象等操作

2.2 转接发送 SQL 语句到数据库

java.sql.Statement
运行简答sql语句,无需指定参数

java.sql.PreparedStatement
运行包含(或者不包含)IN类型参数的预编译SQL语句

java.sql.CallableStatement
运行存储过程


以上三种执行器,因为PreparedStatement包含已编译的sql,执行速度要快于Statement

2.3 处理并返回语句执行结果

java.sql.ResultSet
结果集对象,主要用于查询结果访问
执行SOL语句后数据库返回结果被JDBC处理成结果集对象

3 JDBC基本使用

四个核心基础参数,访问数据库的JAVA框架都需要

jdbc.driver=dm.jdbc.driver.DmDriver
jdbc.url=jdbc:dm://localhost:5236
idbc.username=test_yxy
jdbc.password=Test_yxy

3.1 前期准备

1.找到正确的数据库驱动
DM JDBC 驱动 jar 包在 DM 安装目录 /dmdbms/drivers/jdbc(/home/dmdba/dmdbms/drivers/jdbc)

驱动后缀跟JAVA版本对应,比如 DmJdbcDriver18.jar 对应 java 1.8

2.创建测试类进行测试
在这里插入图片描述

3.2 增删改查代码示例

package dm_01;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class TEST01 {// 定义 DM JDBC 驱动串static String jdbcString = "dm.jdbc.driver.DmDriver";// 定义 DM URL 连接串static String urlString = "jdbc:dm://localhost:5236";// 定义连接用户名static String userName = "SYSDBA";// 定义连接用户口令static String password = "SYSDBA";// 定义连接对象static Connection conn = null;// 定义 SQL 语句执行对象static Statement state = null;// 定义结果集对象static ResultSet rs = null;public static void main(String[] args) {try {//--------------------------前提条件---------------------------------------------------   	//1.加载 JDBC 驱动程序System.out.println("Loading JDBC Driver...");Class.forName(jdbcString);//2.连接 DM 数据库System.out.println("Connecting to DM Server...");conn = DriverManager.getConnection(urlString, userName, password);//3.通过连接对象创建 java.sql.Statement 对象state = conn.createStatement();//---------------------------进行增删改查操作--------------------------------------------------//增加String sql_insert = "insert into SYSDBA.TEST01 " + "(ID,DATE)values('1','2024-01-01 00:00:00'),('2','2025-01-01 00:00:00'),('3','2026-01-01 00:00:00')";//执行添加的 SQL 语句state.execute(sql_insert);//删除String sql_delete = "delete from SYSDBA.TEST01 "+"where ID = '3'";//执行删除的 SQL 语句state.execute(sql_delete);//修改String sql_update = "update SYSDBA.TEST01 set "+"ID = '11' where ID = '1'";state.executeUpdate(sql_update);//查询//定义查询 SQLString sql_selectAll = "select * from SYSDBA.TEST01";//执行查询的 SQL 语句rs = state.executeQuery(sql_selectAll);displayResultSet(rs);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {try {//关闭资源rs.close();state.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}}//显示结果集public static void displayResultSet(ResultSet rs) throws SQLException{while (rs.next()) {int i=1;Object id = rs.getObject(i++);Object name = rs.getObject(i++);System.out.println(id+"  "+name);}}
}

打印出结果为:

Loading JDBC Driver...
Connecting to DM Server...
11  2024-01-01 00:00:00
2  2025-01-01 00:00:00

3.3 绑定变量操作示例

package dm_01;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class jdbc_prepareStatement {// 定义 DM JDBC 驱动串static String jdbcString = "dm.jdbc.driver.DmDriver";// 定义 DM URL 连接串static String urlString = "jdbc:dm://localhost:5236";// 定义连接用户名static String userName = "SYSDBA";// 定义连接用户口令static String password = "SYSDBA";// 定义连接对象static Connection conn = null;// 定义 SQL 语句执行对象static PreparedStatement pstate = null;public static void main(String[] args) {try {//1.加载 JDBC 驱动程序System.out.println("Loading JDBC Driver...");Class.forName(jdbcString);//2.连接 DM 数据库System.out.println("Connecting to DM Server...");conn = DriverManager.getConnection(urlString, userName, password);//绑定操作String sql_updateNameById = "update SYSDBA.TEST01 set "+"ID = ? where ID = ?";//3.通过连接对象和修改语句的模板,创建 java.sql.PreparedStatement 对象pstate = conn.prepareStatement(sql_updateNameById);//4.绑定?对应的参数:理论上有多少个?就要绑定多少个值;pstate.setString(1, "1");pstate.setString(2, "11");//5. 执行 SQL 语句pstate.executeUpdate();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {try {pstate.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}}}

打印结果为

Connecting to DM Server...
1  2024-01-01 00:00:00
2  2025-01-01 00:00:00

3.4 大字段操作示例

1.初始化表

CREATE TABLE TEST03
(
"ID" INT IDENTITY(1, 1) NOT NULL,
"PHOTO" IMAGE,
"DESCRIBE" BLOB,
"TXT" CLOB,
NOT CLUSTER PRIMARY KEY("ID"));

2.代码示例

package dm_01;import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class jdbc_operate_bigData {// 定义 DM JDBC 驱动串static String jdbcString = "dm.jdbc.driver.DmDriver";// 定义 DM URL 连接串static String urlString = "jdbc:dm://localhost:5236";// 定义连接用户名static String userName = "SYSDBA";// 定义连接用户口令static String password = "SYSDBA";// 定义连接对象static Connection conn = null;// 定义 SQL 语句执行对象static PreparedStatement pstate = null;//查询大字段// 定义保存结果集的对象static ResultSet rs = null;// 定义输入流对象static InputStream in3 = null;// 定义输出流对象static FileOutputStream fos = null;// 定义输出流对象static FileOutputStream fos2 = null;// 定义高效字符流对象static BufferedReader reader1 = null;public static void main(String[] args) {try {//1.加载 JDBC 驱动程序System.out.println("Loading JDBC Driver...");Class.forName(jdbcString);//2.连接 DM 数据库System.out.println("Connecting to DM Server...");conn = DriverManager.getConnection(urlString, userName, password);//------------------------------插入大字段------------------------------------------------------------------------------------------//1.插入大字段信息:  String sql_insert = "INSERT INTO TEST03 (\"PHOTO\","+ "\"DESCRIBE\",\"TXT\")VALUES(?,?,?);";pstate = conn.prepareStatement(sql_insert);//加载图片为输入流String filePath = "D:\\DM\\java20250217\\photo_test.jpg";File file = new File(filePath);String filePath2 = "D:\\DM\\java20250217\\clob_test.txt";File file2 = new File(filePath2);InputStream in = new BufferedInputStream(new FileInputStream(file));InputStream in2 = new BufferedInputStream(new FileInputStream(file));BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file2),"UTF-8"));//1.绑定 stream 流信息到第一个?pstate.setBinaryStream(1, in);//2.绑定 Inputstream 对象到第二个?这里pstate.setBlob(2, in2);//3.绑定 Reader 对象到第三个?pstate.setClob(3, reader);pstate.executeUpdate();//-------------------------------查询大字段-----------------------------------------------------------------------------------------//1.查询大字段信息 SQL 语句String sql_select = "SELECT * FROM TEST03 where ID='1';";pstate = conn.prepareStatement(sql_select);//2.创建 ResultSet 对象保存查询结果集rs  = pstate.executeQuery();//3.解析结果集while(rs.next()) {//获取第一列 id 信息int id = rs.getInt("ID");//获取第二列 photo 图片信息,并把该图片直接写入到 D:\\DM\\java20250217\\id_photo_test.jpg;in3 = rs.getBinaryStream("PHOTO");fos = new FileOutputStream("D:\\DM\\java20250217\\"+id+"_photo_test.jpg");int num = 0;//每次从输入流中读取一个字节数据,如果没读到最后指针向下继续循环while((num=in3.read())!=-1) {//将每次读取的字节数据,写入到输出流中fos.write(num);}//获取第三列的 Blob 大字段信息//Blob 对象处理的是字节型大字段信息例如图片、视频文件等Blob blob = rs.getBlob("DESCRIBE");in3 = blob.getBinaryStream();fos2 = new FileOutputStream("D:\\DM\\java20250217\\"+id+"_Blob_photo_test.jpg");//每次从输入流中读取一个字节数据,如果没读到最后指针向下继续循环while((num=in3.read())!=-1) {//将每次读取的字节数据,写入到输出流中fos2.write(num);}//获取第四列的 Clob 大字段信息//Clob 大字段处理的是字符型大字段信息,文本等数据Clob clob = rs.getClob("txt");reader1 = new BufferedReader(clob.getCharacterStream());String str = null;while((str=reader1.readLine())!=null) {//将每次读取的字节数据System.out.println(str.toString());}}//-----------------------------------------------------------------------------------------------------------------------} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {try {//关闭资源fos.close();in3.close();rs.close();pstate.close();conn.close();} catch (SQLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
}

3.打印结果为
TXT中的内容

Loading JDBC Driver...
Connecting to DM Server...
clob_test.txt文本//1.插入大字段信息:  package java_jdbc;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;..........

文件夹中的内存
在这里插入图片描述

下一篇
达梦数据库应用开发_Hibernate框架介绍_yxy


更多其他数据库相关专栏:

1.数据库优化
数据库优化基本思路、索引详解、执行计划、统计信息、CBO原理、单表优化、多表优化、分布式优化、子查询等
数据库优化(sql优化)专栏连接

2.达梦分布式数据库:
部署详细步骤(DEM)、备份还原实战、核心特性理解、使用心得、表分区方式详细介绍、表分区最佳实践、DPC架构详解等
达梦分布式DPC专栏连接


文章转载自:

http://IVQxBBBK.knzdt.cn
http://cGuZUbrH.knzdt.cn
http://erhTvy9n.knzdt.cn
http://RkuyCJqr.knzdt.cn
http://tF4BN2po.knzdt.cn
http://7U9LOymV.knzdt.cn
http://4TvN21DZ.knzdt.cn
http://USNEuMp5.knzdt.cn
http://3RG3bl7G.knzdt.cn
http://VORWlJ6s.knzdt.cn
http://HaB3jk9t.knzdt.cn
http://ZoB7wmqu.knzdt.cn
http://WaApqQwu.knzdt.cn
http://A94MoPEf.knzdt.cn
http://1MxfhJEI.knzdt.cn
http://lIk1tD6H.knzdt.cn
http://oUmJ8Ri0.knzdt.cn
http://27jNxC6y.knzdt.cn
http://20lQjPlU.knzdt.cn
http://kYhvCLEm.knzdt.cn
http://XDeqNn7m.knzdt.cn
http://Fmb0HnOq.knzdt.cn
http://HpkpF4T7.knzdt.cn
http://tONeEwJu.knzdt.cn
http://Cj5aXZjK.knzdt.cn
http://ddCHFs9U.knzdt.cn
http://nUv9FFBT.knzdt.cn
http://qIvRJJ9T.knzdt.cn
http://SKj3oIpY.knzdt.cn
http://Uak2S4Fe.knzdt.cn
http://www.dtcms.com/wzjs/623578.html

相关文章:

  • 网站建设河北石家庄全国广告公司网站建设
  • 做sorry动图的网站seo全网营销公司
  • 住房住房和城乡建设部网站wordpress站内统计插件
  • 嘉兴企业网站建设系统安全网多少钱一个
  • 企业网站建设 深圳广州注册公司在哪个网站
  • 怎么样上传网站资料偷wordpress模板
  • 吴桥网站建设公司flashfxp怎么做网站
  • 用python做网站怎么赚钱丹阳网站建设效果
  • 太原广告传媒有限公司seo研究
  • 网站为什么百度搜不到网站代运营性价比高
  • 在线crm网站网站建设和媒体渠道
  • 主流网站关键词排名好的seo公司营销网
  • 重庆建设摩托车官方网站电子商务网站建设报价表
  • 四川网站制作seo搜索引擎优化包邮
  • seo免费优化网站企业邮箱怎么申请的
  • ae免费素材网站icp备案后要建网站吗
  • 建设举报网站清河网站建设公司
  • 有关做美食的网站乐旅游精品网站建设
  • 网站提交收录软件网页设计与网站建设-学用一册通
  • 广西建设监理协会官方网站权重7以上的网站
  • 网站开发时间段望京网站建设
  • 锦州网站建设最低价网站seo推广计划
  • 用手机搭建网站长沙专门做网站公司有哪些
  • 网站开发违约责任建设网站前的市场分析包括
  • 哈尔滨做网站设计个人设计师为什么做网站
  • 门户网站做wordpress KeyWords优化
  • 能发外链的网站宝山品牌网站建设
  • 邯郸专业做网站多少钱wordpress新用户下载权限
  • 阳谷企业做网站推广酒店营销策略
  • 做网站图片和文字字体侵权阿里巴巴做网站吗