社区
Web 开发
帖子详情
在线求增删改Bean的编写和调用例子,顶者有分
j_mcgrady
2006-02-27 05:18:29
在线求增删改Bean的编写和调用例子,顶者有分
...全文
144
7
打赏
收藏
在线求增删改Bean的编写和调用例子,顶者有分
在线求增删改Bean的编写和调用例子,顶者有分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yan1
2006-03-01
打赏
举报
回复
顶一下........
j_mcgrady
2006-03-01
打赏
举报
回复
有人在吗?谢谢
lydvqq
2006-02-27
打赏
举报
回复
转:
package com.imnamg.axman.beans;
import java.sql.*;
import ..................
public class ConnectionFactory{
protected Connection conn;
ConnectionFactory() throws SQLException
{ //构造方法中生成连结
//无论是从DataSource还是直接从DriverManager中取得连结.
//先初始化环境,然后取得连结,本例作为初级应用,从
//DriverManager中取得连结,因为是封装类,所以要把异常抛
//给调用它的程序处理而不要用try{}catch(){}块自选处理了.
//因为要给业务方法的类继承,而又不能给调用都访问,所以
//conn声明为protected
conn = DriverManager.getConnection(url,user,passwd);
}
/**
在多线程编程中,很多时候有可能在多个线程体中得到同一连
结的引用,但如果在一个线程中关闭了连结,则另一个得到相同
引用的线程就无法操作了,所以我们应该加一个重新建立连结
的辅助方法,有人问为什么既然有这个辅助方法不直接调用这个
辅助而要在构造方法中生成连结?因为这样可以增加效率,如果
在构造时不能生成连结则就不能生成这个对象了,没有必要在
对象生成后再测试能不能生成连结.
*/
public void makeConnection(){
//此处的代码同构造方法,无论以后如果实现连结,都将构造方
//法的代码复制到此处.
conn = DriverManager.getConnection(url,user,passwd);
}
}
这个类就封装到这里,当然你可以在这儿增加业务方法,但如果要修改连结的实现,
整个类都要重新编译,因为业务方法和应用层次无关,代码一经生成不易变动,所以独立封装.
以下我们实现业务方法:
package com.imnamg.axman.beans;
import java.sql.*;
import ..................
public class DBOperater extends ConnectionFactory{
//private Statement stmt;
//private ResultSet rs;
//为什么要注释成员变量stmt和rs,基础部分已经说过,如果声明为成员变量,
//在关闭conn时可以显示地先关闭rs和stmt,别的没有任何好处,而显示关
//闭只是说明你编程风格好,但综合考虑,我们要生成多个stmt或不是类型的
//stmt就不能声明为成员方法,否则引用同一对象,所以我们要业务方法中生
//成stmt对象.不仅可以同时处理多个结果集,还可以提高性能和灵活性.
public ResultSet executeQuery(String sql) throws SQLException{
if(conn==null || conn.isClosed())
makeConnection();
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
//对于一般的查询操作,我们只要生成一个可流动的结果集就行了.
//而对于在查询时要更新记录,我们用另一个业务方法来处理,这样,
//这样可以在普通查询时节省回滚空间.
ResultSet rs = stmt.executeQuery(sql);
return rs;
}
public ResultSet executeUpdatabledQuery(String sql) throws SQLException{
if (con == null || con.isClosed())
makeConnection();
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLED);
//可更新的结果结要更大的回滚空间,普通查询时不要调用这个方法
ResultSet rs = stmt.executeQuery(sql);
return rs;
}
/**
基于同上的原因,在执行更新操作是我们根本不要任何回滚空间,所以建立
一个基本类型的stmt,实现如下
*/
public int executeUpdate(String sql) throws SQLException{
if (con == null || con.isClosed())
makeConnection();
Statement stmt = con.createStatement();
//这个stmt在执行更新操作时更加节省内存,永远记住,能节省的时候要节省
//每一个字节的内存,虽然硬件设备可能会有很大的物理内存,但内存是给用
//户用的而不是给程序员用的(!!!!!!!!!!!!!!!!!!)
int s = stmt.executeUpdate(sql);
return s;
}
//以上实现了常用功能,还有两个通用的功能也是\"共性\"的,我们一起在这个封装类
//中实现:
public PreparedStatement getPreparedStmt(String sql) throws SQLException{
if (con == null || con.isClosed())
makeConnection();
PreparedStatement ps = con.prepareStatement(sql);
return ps;
}
public CallableStatement getCallableStmt(String sql) throws SQLException{
if (con == null || con.isClosed())
makeConnection();
PreparedStatement ps = con.prepareCall(sql);
return ps;
}
//记住:对于封装类而言预编译语句和存储过程调用应该从连结中返PreparedStatement
//和CallableStatement供调用者处理而不是返回它们的处理结果.也就是说封装类只封
//装了它们的连结过程.最后再次声明,一定要有一个close()方法供调用者调用,而且告
//诉调用者无论如果要调用这个方法:
public void close() throws SQLException{
if(conn != null && !conn.isClosed())
conn.close();
}
//这个方法最好放在ConnectionFactory中,这样可以直接调用来只测试连结.而不用再
调用子类来关闭
}
725137
2006-02-27
打赏
举报
回复
一个完整的javabean首先有一个显示的默认的构造函数
public class A
{
public A(){}
private int a;
public void setA(int a)
{
this.a=a;
}
public int getA()
{
return a;
}
}
以上就是一个完整的javabean.就创建好了。增加值的话。首先应该定义。然后增加get和set方法..
改就直接改..想把a改成b就改成b.
其它的不明白你在说什么了
wzd268
2006-02-27
打赏
举报
回复
接分
hanhongmin
2006-02-27
打赏
举报
回复
UP
zx2002027
2006-02-27
打赏
举报
回复
增删改什么东西
EJB remote 和session
Bea
n,以及新工程
调用
EJB,实现数据的
增删
改
查
本文介绍了一种基于Java EE的远程接口设计及其在Session
Bea
n中的实现方式,通过示例展示了如何进行Customer实体的
增删
改
查操作。
使用Map代替
bea
n类进行
增删
改
查
本文介绍了如何使用Map对象替代传统的
Bea
n类来进行数据库操作,主要涉及Dao层的接口定义、SQL拼接及执行,以及Service层和Controller层的实现。通过示例代码展示了如何在Java中使用Map进行数据查询和
增删
改
操作,降低了代码复杂性。
spring boot 新的管理
bea
n 的方式和集成 jdbc
本文介绍SpringBoot中管理
Bea
n的新旧方式,包括通过注解和@
Bea
n注解配合工厂方法,以及如何通过配置类集中管理
Bea
n。此外,还详细讲解了SpringBoot集成JDBC的过程,包括依赖添加、JdbcTemplate的使用,以及通过示例展示如何进行数据库的
增删
改
查操作。
使用受管
bea
n对数据库中数据进行
增删
改
查操作
本文介绍了一个使用JavaServer Faces (JSF) 技术实现的学生信息管理系统。系统包括学生信息的
增删
改
查功能,并详细展示了从Java
Bea
n到JSF页面的具体实现过程。
Spring2(
bea
n实例化的管理
bea
n的作用域 spring对于
bea
n的生命周期管理 annotation注解 javaconfig 实现单表
增删
改
查(spring)面试题 )
本文围绕Spring框架展开,介绍了Spring
Bea
n对
Bea
n实例化的管理,包括无参构造、普通工厂和静态工厂实例化方式。阐述了
Bea
n的作用域、生命周期管理,详细讲解了annotation注解的使用,还介绍了JavaConfig配置方式。此外,说明了Spring实现单表
增删
改
查的三种方式,并解答了相关面试题。
Web 开发
81,111
社区成员
341,725
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章