Java下创建表格与数据库交互的几个要点

数据仓库的架构与设计 公司之前的数据都是直接传到Hdfs上进行操作,没有一个数据仓库,趁着最近空出几台服务器,搭了个简陋的数据仓库,这里记录一下数据仓库的一些知识。涉及的主要内容有: 什么是数据仓库? 数据仓库的架构 数据仓库多维数据模型的设计 1. 什么是数据仓库1.1 数据仓库的概念官方定义数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。 阅读详情

我们在这里讲谈到创建表格和数据库交换的问题,实际开发中肯定会遇到数据库交互的问题,对数据库的操作也是实现更多功能的前提。

应用程序需要将用户填入的数据保存到数据库中,同时又要将数据库中的数据读取到前台应用程序供用户查询。而表格工具无疑是这个用户与数据库之间交互理想的中间平台。笔者今天就跟大家分享一下,再Java平台中建立表格的一些技巧。

 

一、是否允许用户对记录进行重排序?

当从数据库中读取记录然后反映在表格中,有很多地方可以控制记录的排序。在不排序的情况下,从数据库中读取数据的时候是根据记录创建的时间先后顺序反映在前台的表格中。为了控制显示的顺序,数据库管理员可以在数据库层面上,针对这张表格创建一张视图,并在视图中设置排序规则,来改变默认的排序顺序。这张方式效率比较高,但是也比较死板。因为只有数据库管理员才能够更改这个排序规则。其次在Java平台中,将相关的SQL语句传递给数据库以获取想要的数据时,也可以利用order by关键字来设置排序的顺序。不过这跟数据库层面上设置一样,也有一个致命的缺陷,即这个排序规则必须预先设置好。如果用户不满意当前的排序规则,则必须要系统管理员或者开发人员帮忙才能够更改排序方式。显然这两个排序方式都不是很灵活。

 

其实用户需要的是在前台应用程序窗口中,可以根据需要对任何一个字段进行排序。如点击某个字段名字,就根据这个字段名进行排序。在Java平台创建表格的类中,本身就已经集成了重新排列的功能。如在创建表格的时候,可能需要用到一个JTableHeader类(可以用这个类创建不支持滚动条的表格),在这个类中,有一个setRecorderingAllowed方法,其会有true与false两个返回值。如果这个方法返回的时true,则表示允许用户在这个表格上对记录进行重新排序。如果返回的是false的话,则表示用户无法在表格上对记录进行重新排序。如果不满意现在的排序规则,只有要求系统管理员或者开发人员在后台更改排序规则。

 

对这个排序规则的设置,笔者有一个建议。首先程序开发人员或者数据库管理人员要根据用户常见的需求,即最常用的排序规则来进行设置。如此的话,用户一打开前台表格,就可以得到自己想要的排序方式。然后在表格上也允许用户进行重新排序。当用户有需要的时候,可以轻易实现按任何一个字段进行排序。笔者认为这种排序规则比较合理。在实际应用程序开发中,笔者也是如此做的。不过这里需要注意一点,如果查询出来的纪录比较多,此时即使在前台对记录进行排序,效率也会比较低。为此对于大记录的表格,笔者的建议是在数据库设计或者应用程序开发中,就要评估用户最常常用的排序规则。如在产品信息窗口中,可以按关键字或者产品类别进行排序。如此就可以最大程度的减少二次排序,提高应用程序的性能。

 

二、是否允许对表格中的内容进行编辑?

在表格创建的时候,还需要注意是否允许用户对表格中的数据进行更改。对于这一点程序开发人员也可以在多个层面对其进行控制。如某个表格对于任何用户来说都是只读的,只允许应用程序对其进行更新,那么就可以在数据库层面进行控制。如对于系统日志表格来说,用户就不能够进行更改,只有查询。为此就可以针对这张表格创建一张只读的视图,供用户查询使用。而应用程序在更新的时候,则直接更新对应的基础表格。这就是通过在数据库层面对表格中的内容是否允许编辑进行控制。

 

除此之外,还可以通过权限来进行控制。如可以在数据库中设置不同的用户、不同的权限来控制前台表格对应的后台数据库表格的读写权限。在应用程序中,也可以控制对这张表格中内容的编辑能力。默认情况下,利用Java提供的现有类创建表格时,是允许用户对表格中的内容进行编辑的。如用户只要双击单元格,就可以对表格中的内容进行更改。如果系统管理员不希望用户对表格中的内容进行更新,则就需要重构JTable类中的isCellEdittable方法。默认情况下,这个方法返回的值是true,表示允许用户对其进行更改。如果返回的时false的话,在禁止用户对单元格进行编辑。

 

其实,在应用程序开发过程中,这个是一个动态的过程。如就拿销售订单来说,如果单据编号是自动编号的,那么就不允许用户对单据编号这个列的内容进行更改。这个列中的内容都是系统自动产生的。相反,如果这个销售订单编号是手工创建的,那么就允许用户对这个字段进行更改。所以在应用程序设计的时候,最好不要将这个写死。一般可以在单据性别设置处进行设置。即设置一个开关,来控制是否允许用户对表格中的单元格进行编辑。

 

三、记录时单选还是多选?

在使用Excel表格的时候,记录的选择模式有很多种。如用户可以选择一条记录,也可以选择多条连续的纪录。甚至在其他键的帮助下,还可以选择不连续的纪录等等。特别是在同一个时间内选择多条记录,这可以在很大程度上提高复制粘贴的效率。

 

在利用Java语言创建的表格中,也具有类似的功能。如在创建表格的类中有一个setSelectionMode方法,就是用来控制选择模式的。默认情况下,这个方法有三个返回值。如果返回的是0,表示用户在表格中只允许选择一条记录,如不允许选择多条。如果返回的时1的话,则表示用户可以通过鼠标拖拉等手段同时选择多条记录,单是这些记录必须连续的,而不允许分散。如果这个方法返回的值是2,则表示用户可以随意的选择多条记录,这些记录可以是连续的,也可以是不连续的。这个记录的选择模式,一般情况下不会对性能或者安全产生不利的影响。故到底采用哪种方式,最重要的还是要根据用户的需求来定。

 

除了以上的这些设置外,程序开发人员还可以对表格的外观进行定义。如是否允许用户调整列的宽度;是否允许按比例来调整表格所有列的宽度;如是否启用自动调整功能,即按照字段的大小来进行自动调整;还是只允许调整最后一列的宽度等等。一般情况下,如果没有特殊的需要,可以允许用户根据需要调整任一列的宽度。特别是在需求不能够确定的情况下,可以这么做。免得在用户需要的时候,再去更改系统源代码或者相关的设置。

 

虽然说以上这些内容只是对表格的一些外观的设置,如记录的排序规则或者列的可编辑性,但是这些内容对于应用程序非常的重要,也是用户用的最频繁的一些操作。这不仅关系到后台数据库中数据的安全性,还会影响到应用程序的性能。程序开发人员必须对这方面的内容引起重视。根据用户的需求,切实的做好这方面的开发定制。

C语言的数据库交互 数据库是一个有组织的数据集合,可以方便地访问、管理和更新数据。常见的数据库类型包括关系型数据库(如MySQL、PostgreSQL、Oracle等)和非关系型数据库(如MongoDB、Cassandra等)。通过上面的介绍,我们了解了在C语言中如何与数据库进行交互。尽管C语言在数据库交互方面没有高层语言那么方便,但通过使用相应的数据库驱动,我们仍然可以高效地进行数据库操作。无论是简单的数据存取,还是复杂的事务处理,了解其基本原理和使用技巧,对于软件开发者来说都是非常重要的技能。 阅读详情

相关推荐

2.2 创建表格

在企业级开发中,往往会使用BIGINT作为主键,因为我们知道INT的值域只有2147483647这么大,也就是20亿多,有些公司用户数达到百万甚至干万,那么记录用户行为的数据,比如说支付宝账单,就很轻松会突破INT的值域,因此使用BIGINT会避免数据溢出的问题。一般来说字段的长度足够用就可以,同时要注意值域,比如INT的最大值为 2147483647,长度为 10 位,所以上面的语句中,id最大只能这么大,如果超过这个数,我们可以使用 BIGINT。,所以大家在删除表格时,务必慎重。

Mtf520的博客 1732

实现数据库和java代码的交互。

数据池C3P0、数据库mysql和DbUtils框架的联合运用准备工作配置文件运用代码把数据库中数据进行增、删、改查。 准备工作 需要准备好c3p0的数据池jar包、C3P0-config.xml文件、mysql数据库 jar包和最重要的DbUtils框架jar包。 配置文件 在项目里创建一个lib问价夹把上述三个jar放进去并(单击鼠标右键)buildpath产生如下图所示的效果。 这时我们的jar包就可以使用 运用代码把数据库中数据进行增、删、改查。 ...

添砖Java 806

数据仓库系列(一)数据仓库的特点与架构分类--数仓与数据库究竟有什么区别??

文章目录数据仓库理论介绍:一:数据仓库的四大特点:1):面向主题:提取主题:2):集成3):非易失4):随时间变化二:数据仓库和数据库的区别三:OLTP和OLAP的区别:四:有哪些数据仓库架构?lnmon架构--范式建模:ER建模:Data Vault建模:Data Vault组成:Anchor建模:Anchor模型组成:Kimball架构--维度建模:维度建模数据仓库模型构建过程:选择业务流程声明粒度确认维度确认事实混合型架构:数据仓库的解决方案:数据采集数据存储数据计算数据可视化任务调度 数据仓库理论介

qq_35050438的博客 2948

java代码实现创建数据库表格

/** * 拼接创建表格SQL * @param tableName 数据库表名 * @param tableNameId 表名前面动态拼接唯一标识(不用,可以删除) * @param primaryKey 主键字段 * @param columnList 所有字段 + 类型 * @return */ ...

boboxu 4584

Java后端:创建表格和数据库交互的关键要点

上述代码中,我们使用SQL语句创建了一个名为"employees"的表格,包括"id"、“name”、"age"和"salary"等列。上述代码中,我们使用预编译的SQL语句更新了"employees"表格中id为1的数据的薪水字段。上述代码中,我们使用SQL语句查询了"employees"表格中的所有数据,并将结果打印输出。上述代码中,我们使用预编译的SQL语句删除了"employees"表格中id为1的数据。上述代码中,我们使用预编译的SQL语句插入了一条数据到"employees"表格中。

BfuPhp的博客 209

基于java的财务管理系统设计与实现

基于Java的财务管理系统是一个用于企业财务管理和财务管理的软件系统,旨在提高财务管理效率和准确性,减少人力成本。系统性能评估是对系统在特定工作负载下的响应速度和资源利用率进行评估和分析,旨在验证系统是否能够满足用户在实际使用中的性能需求。1、并发性能评估:并发性能是指系统在多用户同时访问的情况下的表现。通过模拟多个用户同时进行操作,如凭证录入、报表生成、账户查询等,评估系统的并发性能。测试结果显示,系统能够正确处理并发请求,同时保持较好的响应速度。

biyesheji1000的专栏 1740

java实战(6)-----实现数据库与后端交互

①建库,建表 因为建库没有权限,所以就在别人那里蹭了个数据库,建了个表: 添加字段: ②修改配置文件,加入数据库的相关配置 百度搜索:springboot集成mybatis https://www.jianshu.com/p/2898d50dfb2e (1)修改pom文件,添加依赖 <dependency> ...

Super大头 6773

Java数据库查询结果表格展示教程

JDBC是一种Java API,它定义了客户端如何与数据库进行交互的一系列方法。通过JDBC,开发者能够使用Java编写可以跨多种数据库操作的应用程序。它抽象了不同数据库之间的差异,允许开发者使用通用代码操作数据库。JDBC的核心组件包括ConnectionStatement和ResultSet。用于管理数据库驱动,Connection表示与数据库的连接,Statement用于执行SQL语句,而ResultSet则提供对查询结果的访问。

weixin_36149538的博客 1163

Java——与数据库交互

今天我们来了解一下通过Java与数据库进行交互 下面是作者写的一个简单的交互方法,sql变量是sql语句,strs变量是我们想要拿取的数据的key值,简单举例如下: String sql = "select *from user"; String[] strs = {"id","userName","sex","status"}; public...

Lanly-Li的博客 2260

Java学生数据管理系统完整设计与实现

本文还有配套的精品资源,点击获取 简介:本课程设计项目以Java语言为基础,旨在开发一个完整且实用的学生数据管理系统。系统将涵盖数据录入、查询、统计分析、报表生成、权限控制、数据备份、系统集成、用户界面设计、错误处理和性能优化等关键功能。通过本项目,学生将深入理解学生数据管理系统的架构、实现和应用,为未来在教育信息化领域的发展奠定坚实基础。 1. 学生数据管理系统...

weixin_36444661的博客 952

构建HTML与数据库交互的Java应用实战

本文还有配套的精品资源,点击获取 简介:HTML作为网页构建的标记语言与数据库结合,使网站具备动态交互功能。Java程序在此实现HTML与数据库之间的桥梁,处理HTML解析、数据库连接、SQL查询、结果集处理、安全性、性能优化、异常处理、响应式设计及MVC架构等关键知识点。 1. HTML解析技术与实现 1.1 HTML解析的重要性 在现代Web开发中...

weixin_28681379的博客 2690

android studio与ideal后台进行交互_Android通过Web与后台数据库交互

2021.1.27 更新 已更新新版本博客,更新内容与原文章相比有点多,因此新开了一篇博客,链接在下方:氷泠:Android+Java Web+MySQL实现登录注册​zhuanlan.zhihu.com1 背景开发一个App与后台数据库交互,基于MySQL+原生JDBC+Tomcat,没有使用DBUtils或JDBC框架,纯粹底层JDBC实现。这几天踩了很多坑,说得夸张点真是踩到没有知觉,希望能...

weixin_39850697的博客 4103

Java与SQL Server数据库连接的实践与要点

本文还有配套的精品资源,点击获取 简介:Java和SQL Server数据库交互是企业级应用开发中的重要环节。本文详细探讨了使用Java通过JDBC连接到SQL Server数据库的过程,包括加载驱动、建立连接、执行SQL语句、处理异常、资源管理、事务处理和连接池的使用。通过实例代码,介绍了如何在Java中实现数据库连接、执行查询和更新操作、以及进行事务控制等关键步骤。 ...

weixin_34885746的博客 3067

直接保存对象的数据库——db4o

在实际开发中,数据的存储是必不可少的,常用的有数据库存储和文件存储。数据库目前有关系型数据库和文档型数据库(No-SQL)。关系型数据库以字段、类型、约束、表关系来存储和管理数据,比较常见的比如Oracle、MySql等都属于RDBMS,文档型数据库是一种可分布式的文档结构数据库,没有关系型数据库中传统意义上的表,比较常见的比如MongoDB、CouchDB等。 今天主要介绍下,在java开发中

Ryan's zone 8593

星网宇达Newton-M2设备安装及配置

主要介绍了星网宇达Newton-M2设备的配置过程

weixin_49353445的博客 2676

海思ISP调优实战:从实验室到真实场景的IPC相机图像质量优化指南

本文深入探讨海思ISP调优在IPC相机图像质量优化中的实战应用,从实验室标定到真实场景部署的全链路调优方法。重点解决光照动态范围、色温变化和噪声特性等核心问题,提供AE权重表配置、CCM标定、3DNR时域滤波等关键技术方案,帮助实现从理论到实践的图像质量提升。

s3t4u的博客 750

java db

Java DB 是一个基于 Apache Derby 的关系数据库管理系统(RDBMS),它完全用 Java 编写,支持标准的 SQL 语法。Java DB 是 Java 开发者常用的数据库工具之一,尤其适合嵌入式应用开发。

qq_62784677的博客 1万+

win2012没有远程桌面授权服务器可以提供许可证 如何远程

如果远程windows服务器时,提示“没有远程桌面授权服务器可以提供许可证 如何远程”,先通过以下方式进行强制登录,然后在对服务器进行设置即可,延期使用。 强制登录服务器方式; 1、运行—输入:mstsc /admin /v ip:端口 回车即可 2、进入远程桌面,输入 ip:端口 /admin 例如:mstsc /admin /v 192.168.0.131:23568 进入服务器以后,按照以下步骤进行设置即可: ...

蜗牛快爬 1万+

在NetBeans IDE 中使用Java DB数据库

本文档介绍如何在 NetBeans IDE 中快速建立与 Sun 的 Java DB(该数据库基于 Apache Derby 数据库)的连接。建立连接后,您可以容易地在 IDE 中使用这个数据库,可以创建表、用数据填充表、运行 SQL 查询等等。  Java DB 数据库是 Sun 支持的 Apache Derby 的分销版。Java DB 是完全事务型、安全、基于标准的数据库服务器,它全部采

软件开发资料汇总 729

狗都能看懂的MAML原理讲解和代码实现

meta-leaning指的是元学习,元学习是深度学习的一个分支,一个好的元模型(meta-learner)应该具备对新的、少量的数据做出快速而准确的学习。通俗的来讲, 对于人来说,给几张橘猫的图片让看一下,再给你几张没见过的英短猫图片,你一定能很快识别出来都是猫。但是对于神经网络来说,并非如此。如果让一个小汽车分类网络去识别不同的大货车,那效果肯定很差。而传统的CNN网络都是输入大量的数据,然后进行分类的学习。但是这样做的问题就是,神经网络的通用性太差了,根本达不到“智能”的标准。而人类的认知系统,可以通

个人学习笔记 6万+

vue3+SuperMap iClient3D for Cesium实现可视域分析功能

基于Vue3框架及SuperMap iClient3D for Cesium提供的ViewShed3D类实现场景动态可视域分析

qq_43334519的博客 2248

Java语言的数据库交互

数据库是一个按照数据模型来组织、存储和管理数据的集合。关系型数据库:如MySQL、PostgreSQL、Oracle等,数据通过表格结构存储,支持SQL查询语言。非关系型数据库:如MongoDB、Cassandra等,数据存储形式更为灵活,通常以键值对、文档或图形的方式组织。Hibernate是一个流行的ORM框架,能够轻松实现Java对象与数据库表之间的映射。Hibernate提供了强大的查询能力,简化了数据的增删改查操作。在Java开发中,与数据库的交互是不可或缺的一部分。

2501_90231148的博客 417

IEDA激活码失效?教你5分钟快速续期的方法

本文针对IEDA激活码失效问题,提供了一套从快速应急到深度排查的完整解决方案。文章不仅详解了5分钟快速续期与清理缓存等应急方法,更深入剖析了授权机制、离线激活流程,并指导如何构建可持续的授权管理策略,帮助开发者彻底解决激活困扰,确保开发环境稳定。

a0b1c2d3的专栏 273
上一篇: 如何修改MySQL root密码
下一篇: Java/Solaris/SPARC——缅怀SUN公司
Ostroff
博客等级 码龄18年 59粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值