在JavaBean 中实现数据库操作的一点个人见解

java 数据库表批量,或者单个转换成javaBean对象工具 把数据库表转成javaBean, 有人支持大小写按java标准转换, 个人经验表明: 全部用数据库大写使用更方便, 不容易出错. 本工具可以转换成标准bean格式, 也可以数据库字段原始的方式创建bean 使用本工具的前提: 必须提供DataSource 数据源对象, 本代码是从spring中获取数据源, 兄弟们可以改写这个代码, 用自己的数据源. BYTE,SHORT对象用INTEGE,... 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 在JavaBean 中实现数据库操作的一点个人见解 作者:小草/JAVA特刊 JAVA作为较新编程语言,是公认的最具前途的一种,她的网络优势以及其平台无关性,使得建立分布式系统更简单易行,更由于她的出现,使Internet的作用从通信工具扩展到能够运行成熟应用系统的网络。那么是应用系统,不可避免的也许就是数据库。 使用JAVA编制Server端应用程序(B/S),与传统的C/S应用程序在连接数据库方面有着本质的区别.在传统的C/S应用程序中,用户在使用应用程序时是一个长连接,只有在用户退出在程序时,才断开这个连接;而B/S则不一样,它是基于Tcp/IP的一种无状态连接,用户在发一个请求后,Server响应并分配一个连接,当请求结束后,该连接随即失效,Server将根本不知道该连接是那个用户请求的,同样,用户在发下一个请求之前,也将根本不知道要连向哪个Server.正是由于这种区别,使得在程序的编制方面,两种系统有着不一样的原则,否则将可能出现完全不一样的效果! 下面,本人抛砖引玉,谈谈自己在这方面的一点点心得。 在进行数据库操作时,一般在Bean 中不要进行直接的数据库连接(包括引用其他方法来建立连接,即不要无中生有,只使用已存在的Connection 或者 Statement),更不应在构造函数中即生成一个连接,因为一个Bean有可能被多个应用程序引用,同样一个应用程序有可能引用多个Bean ,这样如果一个Bean 如上所述在构造函数中即生成一个连接,那么一个应用程序从开始到结束可能生成许多连接; 同样,在Bean 中的某个方法中也不应该直接建立连接; 那么应该如何在Bean 中进行数据库操作呢? 如果进行数据库查询,即使用Select 语句,可以在方法中直接使用一个Statement 参数。 如:



public ResultSet getRS(Statement stmt,String sqltxt)



{



ResultSet rs=null;



Try



{



    rs=stmt.executeQuery(sqltxt);



}



catch(SQLException e){}



return rs;



}



如果查询语句中有多个Select且嵌套,如 

public String getS(Statement stmt,String sqltxt,String sqltxt1)



{



ResultSet rs=null;



Try



{



rs=stmt.executeQuery(sqltxt);



while(rs.next())



{



ResultSet rs1=stmt.executeQuery(sqltxt1)



If(rs1.next())



{



String s1=rs.getString(1);



String s2=rs1.getString(1);



..............



}



}



}



catch(SQLException e){}



return rs;



}



如果如上所述,两个Select 语句使用一个Statment ,那么将出错或者所得出的结果不正确。解决的方法,可以使用增加Statement 参数,以实现上述查询功能,但是使用增加Statement 参数的方法毕竟是有局限的,如果嵌套层数增加,Statement 参数也许也得跟着增加,这样对于程序的可扩张性是不利的,因为参数数量的不确定(即接口不确定),那么面向对象就没有意义了。 那么另外一种方法,就是直接传入Connection ,但是,如1 所述,不应在方法中直接引入,而是通过构造函数,或者单独一个方法来引入Connection(将该Connection 赋值给Bean中一个Connection 公共变量)。因为一般的应用程序,从开始到结束,不出意外一个Connection 就能完成所有工作,所以无需多次引入。 如:





import java.sql.*;



public class ClassName



{



Connection con1=null;



public ClassName()



{



}



public ClassName(Connection conn)



{



    con1=conn;



}



public void getConn(Connection conn)



{



    con1=conn;



}



public String getS(String sqltxt)



{



String s1=null;



try



{



    ......  



}



catch(SQLException e){}



return s1;



}



.......



}

如果SQL语句是对数据库的增、删、改等,那么可以引入一个Statement 来完成工作,因为不存在ResultSet 的问题,所有的操作都可以用一个Statement 来完成,同上(引用Connection 方法一样)可以使用构造函数或者单独一个方法来引入Statement (建议使用后一种,使用单独一个方法来引入,这样可以避免Connection 和Statement 都要引入的冲突)。 此外,对于数据库的增、删、改也可以,将所有的增、删、改的SQL语句放在一个Batch(批处理),最后执行这个Batch,方法如下:



import java.sql.*;



public class ClassName



{



Statement stmt=null;



public ClassName()



{



}



public void getStatement(Statement stmt_out)



{



    stmt=stmt_out;



}



public String update(...)



{



    String sqltxt="update tableName set....."



}



public String insert(...)



{



    String sqltxt="insert into tableName (....)values(....)"



}



public String del(...)



{



    String sqltxt="delete from tableName where ....."



}



public String mainPub()



{



stmt.addBatch(update(...));



stmt.addBatch(insert(...));



stmt.addBatch(del(...));



.....



stmt.executeBatch();



}



}

最后,再重申一遍,这只是本人的一点体会,如有不妥望不吝啬教! --------------------------------------------------------------------------------
jsp与Javabean实现登录注册 jsp与Javabean实现登录注册jsp与Javabean实现登录注册 jsp技术Mysql数据库编程结合javabean组件实现最简单基础的一个注册登录demo JavaBean开发 表示用户信息的JavaBeanUserInfojava 在Mysql数据库中创建数据库及相应的表格 注册用户时执行数据库操作的JavaBeanUserRegistjava 用户登录时连接数据库处理的JavaBean 阅读详情

相关推荐

JavaBean 实现Mysql数据库操作(Query、Insert、Delete、Update)

1、什么是JavaBean JavaBean是一种Java语言写成的

u012608572的专栏 7340

一个javabean轻松实现对数据库的各种操作

1.调用实例 String prm1,prm2,prm3; ResultSet rst=null; prm1 = ...; prm2 = ...; prm3 = ...; querybean.setConnection("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:数据源名","sa",""); try{ String[] param = {prm1,pr

切忌浮沙筑高台 - 我是ASP程序员 1991

用JavaBean封装数据库操作

package lqs; import java.io.*; import java.sql.*; public class myJDBC { private String DBDriver; //JDBC驱动 private String url; //数据库路径 private String useName; //登陆数据库的用户名 private String

l15040141540的专栏 1700

数据库字段 到类 java bean_将数据库中表的字段自动转换为javaBean实体类

具体代码如下:package param;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql....

weixin_33936345的博客 1182

JavaBean封装数据库操作教程及实践

在本章中,我们深入了解了提升SQL执行效率和防止SQL注入的机制,并探讨了通过输入验证和转义处理,以及采用ORM框架和Hibernate Validator等验证框架来进一步加强数据库安全性的策略。这些技术与实践是构建安全且高效的Java数据库应用程序的关键。通过应用这些策略,开发者可以极大地降低应用程序遭受SQL注入的风险,保障数据库的安全性。

weixin_42471823的博客 858

【scratch音乐课】天空之城:音符与节拍、消息与链表

scratch是一个非常小巧的青少年编程工具,自带程序编写语句,积木式语句非常直观、易用,可创作数学、科学、音乐、绘画等方面作品。本文用scratch“演奏”一首大家非常熟悉的《天空之城》,并向大家介绍一些基本乐理知识,以及scratch中消息、链表的使用。

★·°立芯;︶︵︶ 1万+

你如何使用javaBean操作数据库(摘自www.CnJsp.com)

用javaBean封装数据库操作谁不会?--对啊,大家都会,但是--如果构建一个高扩展性的“结构”?这就要用到java的相关知识了。废话少说,我们先在Tomcat中创建一个DataSource- jdbc/Panabia,然后再创建一个java“基类”,这个类封装了数据库连接和连接的释放:[程式中有相应的注解]package DB;import javax.sql.DataSource;impor

chenhua1934的专栏 1410

[Ethernet in CANoe]3--CANoe工程中SOME/IP报文的详细介绍(一)

和上述第一章节的介绍,我们对SOEMIP通信协议有了初步了解,首先我们先暂停Trace窗口,可以看到整个Trace窗口关于SOMEIP的报文有两种颜色,一种是紫色,另一种是绿色。它使用多播地址,允许服务提供者发布其服务,服务消费者订阅这些服务。上述每点开一个SOMEIP报文,左侧的details就能看到该报文中的具体细节,从IP地址到port口,再到具体的serviceID,都能详细的解析。一旦通过服务发现完成了服务的发布和订阅,服务消费者就可以向服务提供者发送请求,或者服务提供者向消费者发送事件通知。

汽车ECU自动化测试 1412

JavaBean实现用户登陆

JavaBean实现用户登陆 本文简单讲述使用javabean实现用户登录,包括用户登录,注册和退出等。 系统结构图   2.数据库表 createtableP_USER ( idVARCHAR2(50)notnull, usernameVARCHAR2(20), passwordVARCH...

qq_33317402的博客 763

PS/Ai/PR/AE等adobe出现正版弹窗提示:Your non-genuine Adobe app will be disabled soon解决办法

就是用专门的清理工具下载,清理工具在文章下方。然后新建三个空的记事本文件,重命名为 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。在该文件目录中,分别找到 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe,然后在防火墙入站规则里,阻止Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。

Q82556499的博客 1万+

TeXstudio完整安装配置教程(2025最新版)

至此,你已经完成了TeXstudio的完整安装和配置!现在你可以:✅ 使用TeXstudio编写LaTeX文档✅ 正确编译中英文混排的文档✅ 掌握基本的编辑和配置技巧LaTeX的学习曲线较陡,但一旦掌握,你会发现它在学术写作中的强大之处。建议从简单的文档开始练习,逐步掌握更高级的功能。祝你LaTeX写作顺利!如果有任何问题,欢迎在评论区留言交流。关键词:TeXstudio安装、LaTeX环境配置、中文LaTeX、TeX Live、学术论文写作更新日期:2025年10月。

weixin_51241407的博客 4506

将数据库操作封装到Javabean

封装数据库操作,目的就是为了隐藏java.sql包内的类,在编码中去掉核心的数据库操作代码。以杜绝直接数据库操作容易带来的资源未释放问题。同时也减少了数据库操作的编码量。但是很多网友在封装时,却喜欢返回结果集(ResultSet对象),那么这个封装就没有意义了。1. 又是直接操作核心数据库类,跟封装前几乎没什么变化。2. 结果集总是依赖于它使用的连接(Connection)对象。因此当连接对象在方

小P的专栏 1万+

NVIDIA Tao Toolkit环境配置踩坑

请搭配食用该文章为 Tao 安装中可能出现的问题进行解答,如果存在本文章中没出现的问题,欢迎提问,由我复现后更新文章。由于大部分云服务器厂商不能支持 docker,因此我使用的环境为2023年5月27日在平台租的 3080 旧版环境进行实验。

qq_36630208的博客 772

JavaBean的作用

javaBean  编辑 JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,long和class方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。 javaBean在MVC设计...

aKuang_JH的博客 2万+

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

【CANdelaStudio编辑CDD】-1.2-给$10服务SessionControl创建一个新Session会话并修改Session state machine会话状态机(UDS诊断)

前一篇:【UDS诊断描述文件CDD】-1.1-ISO_14229中$10服务理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/120375515案例背景: 在CDD中如何给$10服务创建一个新的Session会话; 在CDD中如何给$10服务修改Session state machine会话状态机。 目录 1 查看$10服务中已有的Session会话​ 2 查看$10服务中已有的Session state machine会话状态机 3 在$10...

「汽车电子助手」的博客 6078

DAO层通用实现,结果集ResultSet转化为javaBean的反射实现,自动生成javaBean

在学习持久层框架之前,反复编写dao层代码编烦了,就自己实现了一个能方便地根据数据库表创建javaBean,并实现其增删改查,结果集转化为List集合,sql编译语句里参数赋值的自动化的“框架”。本文所使用的数据库是mysql自带的simple data里的sakila数据库 先看一下使用效果 实现过程 核心代码如下 其余代码会在后面贴上 其余代码先看一下使用效果: 先编写并运行测试类创建jav

欧阳金城-武 3832

YOLO+OpenCV强强联手:高精度跌倒检测技术实战解析

(0, 1), (0, 2), (1, 3), (2, 4), # 脖子和头部(3, 5), (5, 6), (5, 7), (7, 9), (5,11),# 左臂(4,6), (6, 12), (6,8) ,(8,10),# 右臂(11, 12), (11, 13), (13, 15), #左腿(12, 14), (14, 16) #右腿keypoints是检测到的人体关键点数据,frame是图像帧,boxes是检测到的边界框信息。定义了人体关键点之间的连接关系,用于绘制人体骨架。

yolo模型训练找我,AI游戏合作找我 2317

JavaBean

JavaBean

xiaobaistudyjava的博客 3417

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

javabean

一、 javabean 是什么? Bean的中文含义是“豆子”,顾名思义,JavaBean是指一段特殊的Java类, 就是有默然构造方法,只有get,set的方法的java类的对象. 专业点解释是: JavaBean定义了一组规则JavaBean就是遵循此规则的平常的Java对象 满足这三个条件: 1.执行java.io.Serializable 接口  2.提供无参数的构...

weixin_30439067的博客 235

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Javabean

JavaBean与组件开发 JavaBean概述 JavaBean是用Java开发的可以跨平台的可重用组件,在Web程序中常用来封装业务逻辑和进行数据库操作。 在程序开发中,程序员所要处理的无非是业务逻辑和数据,而这两种操作都要用到JavaBean,因此JavaBean很重要。 JavaBean实际上就是一个Java类,这个类可以重用,javaBean从功能上说可以分为以下两类 1. 封装数据 2...

l15906593675的博客 402

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JSP+Servlet+JavaBean+JDBC实现用户登录,及成绩查询

JSP+Servlet+JavaBean+JDBC实现用户登录,及成绩查询

aKuang_JH的博客 2万+

JSP的JAVABean连接数据库实现增删改查

简介: JavaBean就是符合某种特定规范Java类。 使用JavaBean可以解决代码的重复编写,减少代码冗余,功能区分明确,提高代码的维护性。 设计原则: 1)提供一个公有的无参构造函数。 2)需要被序列化并且实现了Serializable接口。 3)有一系列可读写属性。 4)getter和setter方法封装属性 // User.java public class Users { ...

RuanLiyufei的博客 3093

JavaBean技术

1.JavaBean技术简介 1.JavaBean概述 JavaBean的应用简化了JSP页面,在JSP页面中只包含了HTML代码、CSS代码等,但JSP页面可以引用JavaBean组件来完成某一业务逻辑,如字符串处理、数据库操作等。 2.JavaBean种类 在传统应用中,JavaBean主要用于实现一些可视化界面,如一个窗体、按钮和文本框等,这样的JavaBean被称为可视化的JavaBean。 随着技术的发展与项目的需求,现在的JavaBean主要用于实现一些业务逻辑或封装一些业务对象,由于这样的J

海盗船长y的博客 1247

Jsp + JavaBean循序渐进教程

Jsp + JavaBean循序渐进教程(一)目前,Jsp作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类Jsp应用程序中,Jsp + Java Bean的组合成为了一种事实上最常见的Jsp程序的标准,就让我们来看看具体的Jsp是如何与Java Bean结合在一起的吧。   本教程将阐述JavaBean的原理,接着将阐述JavaBean在JavaServer Pag

宋威的专栏 1676
上一篇: 用JAVA语言编写的取色器
下一篇: Java URL编程
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值