社区
Web 开发
帖子详情
在线求增删改Bean的编写和调用例子,顶者有分
j_mcgrady
2006-02-27 05:18:29
在线求增删改Bean的编写和调用例子,顶者有分
...全文
148
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,实现数据的
增删
改
查
远程接口remote:package ch03.com.ma.bo;import java.util.List;import javax.ejb.Remote;import ch03.com.ma.entity.Customer;import ch03.com.ma.entity.CustomerId;@Remotepublic interfac
使用Map代替
bea
n类进行
增删
改
查
** 最近学习了一下怎么用Map代替
bea
n类来分享一下 ** 先看一下目录吧,最下面我会附上源码 ** 然后看Dao层的接口层: ** 这里面有个方法拼接了下SQL语句,在接口中使用default关键字可以写方法体 再定义一个接口来继承上个接口(可以不写这个接口直接实现上个接口,我只是习惯的写了下) 然后实现上个接口(也可以直接实现第一个接口): 这个就是写下SQL语句,然后返回运行这个SQL语句返回值 运行
增删
改
的SQL语句的方法是:jdbcTemplate.update(),如果运行成功会返回1
spring boot 新的管理
bea
n 的方式和集成 jdbc
新的管理
bea
n 的方式 旧的管理
bea
n 的方式 在 spring.xml 中写入 <
bea
n class="类">, 给类上添加注解 @Component, @Service, @Controller, @Repository, @Mapper, @RestController,配合
bea
n 扫描找到他们管理 新的管理
bea
n 的方式 @
Bea
n 配合工厂方...
使用受管
bea
n对数据库中数据进行
增删
改
查操作
Student.javapackage chen;public class Student { private String xm; private String xb; private String ad; public Student(String xm, String xb, String ad) {this.xm=xm; this.xb=xb; this.ad=ad;
Spring2(
bea
n实例化的管理
bea
n的作用域 spring对于
bea
n的生命周期管理 annotation注解 javaconfig 实现单表
增删
改
查(spring)面试题 )
spring
bea
n容器---->配置。
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章