当前位置:首页 » 数据仓库 » javabean封装数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javabean封装数据库

发布时间: 2022-05-19 11:23:05

‘壹’ javabean作用和优势,什么时候该对数据封装

首先这是一个编程思想,也就是所谓‘面向对象’的问题。javabean本身是一个java对象,他对数据进行的封装。我们需要访问数据的时候只要访问这个对象就可以了。

其次,如果你的表单数据比较少还好,如果多一些,比如10个,那么你在servlet的方法调用,比如调用数据库insert操作,你要建立一个具有10个参数的方法吗?还是创建一个只有一个javabean做参数的方法简单?

在你的例子中,比如A页面提交跳转如B页面,期间A页面的表单数据封装进一个javabean,那么在B页面只需要访问这个javabean,然后调用其相关get方法就可以了。而如果不用javaean,你在servlet终究要不厌其烦的request.setParameter().

而且,将来你肯定会接触到一些数据库持久层的开源框架,现在用的最多的比如hibernate,他对数据库的增删改查全是基于javabean的,比如你要保存一个student的学号,姓名,性别的信息。原来的做法是
insert into t_student (id,name,sex) value(1,'jack',1).
而使用Hibernate这类框架,只需要调用一个方法
save(student).

其中sutdent就是一个javabean,它具有3个成员变量,id,name,sex.是不是很方便?

扯远了。

‘贰’ 怎么把javabean生成数据库的表

javabean里的成员变量就是数据库字段,然后用一个数据访问对象类封装数据库操作方法。

‘叁’ 怎么把Mysql的数据库连接封装到javabean中然后在JSP页面进行调用

Javabean中不链接数据库,只有getter和setter。数据库链接写到中。

‘肆’ 用Javabean封装数据库 要是又好多表那怎么办呢 是不是要用好多bean呢

对啊~ 或者你也可以自己写个生成类的方法 例如
package com.auto.fanwei.comm;

import com.auto.fanwei.model.ColModel;
import com.auto.fanwei.model.TableModel;

public class ConstantModel
{
private static StringBuffer strBuffer;
private static ColModel col;

public static String createModel(TableModel table)
{
strBuffer=new StringBuffer("");
strBuffer.append("package "+Constant.BAG_PATH_MODEL+";").append("\n");
strBuffer.append("public class "+table.getNick()+"Model extends PageModel").append("\n");
strBuffer.append("{").append("\n");
for(int i=0;i<table.getColList().size();i++)
{
col=(ColModel)table.getColList().get(i);
if(col.getType()==1)
{
strBuffer.append("private int "+col.getName()+"=0;").append("\n");
}
else if(col.getType()==2)
{
strBuffer.append("private String "+col.getName()+"=\"\";").append("\n");
}
}
for(int i=0;i<table.getColList().size();i++)
{
col=(ColModel)table.getColList().get(i);
if(col.getType()==1)
{
strBuffer.append("public int get"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"()").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("return "+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
strBuffer.append("public void set"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"(int "+col.getName()+")").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("this."+col.getName()+"="+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
}
else if(col.getType()==2)
{
strBuffer.append("public String get"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"()").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("return "+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
strBuffer.append("public void set"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"(String "+col.getName()+")").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("this."+col.getName()+"="+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
}
}
strBuffer.append("}").append("\n");
return strBuffer.toString();
}
public static String createFormBean(TableModel table)
{
strBuffer=new StringBuffer("");
strBuffer.append("package "+Constant.BAG_PATH_FORM+";").append("\n");
strBuffer.append("import org.apache.struts.action.ActionForm;").append("\n");
strBuffer.append("public class "+table.getNick()+"Form extends ActionForm").append("\n");
strBuffer.append("{").append("\n");
for(int i=0;i<table.getColList().size();i++)
{
col=(ColModel)table.getColList().get(i);
if(col.getType()==1)
{
strBuffer.append("private int "+col.getName()+"=0;").append("\n");
}
else if(col.getType()==2)
{
strBuffer.append("private String "+col.getName()+"=\"\";").append("\n");
}
}
for(int i=0;i<table.getColList().size();i++)
{
col=(ColModel)table.getColList().get(i);
if(col.getType()==1)
{
strBuffer.append("public int get"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"()").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("return "+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
strBuffer.append("public void set"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"(int "+col.getName()+")").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("this."+col.getName()+"="+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
}
else if(col.getType()==2)
{
strBuffer.append("public String get"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"()").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("return "+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
strBuffer.append("public void set"+col.getName().substring(0,1).toUpperCase()+col.getName().substring(1,col.getName().length())+"(String "+col.getName()+")").append("\n");
strBuffer.append("{").append("\n");
strBuffer.append("this."+col.getName()+"="+col.getName()+";").append("\n");
strBuffer.append("}").append("\n");
}
}
strBuffer.append("}").append("\n");
return strBuffer.toString();
}
}

package com.auto.fanwei.model;

import java.util.List;

public class TableModel
{
private String name = "";
private String nick = "";
private String nick_case="";
private String key_nick="";
private String key_nick_case="";

private List colList;

public List getColList()
{
return colList;
}

public void setColList(List colList)
{
this.colList = colList;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}

public String getNick()
{
return nick;
}

public void setNick(String nick)
{
this.nick = nick;
this.setNick_case(nick.toLowerCase());
}

public String getNick_case()
{
return nick_case;
}

public void setNick_case(String nick_case)
{
this.nick_case = nick_case;
}

public String getKey_nick()
{
return key_nick;
}

public void setKey_nick(String key_nick)
{
this.key_nick = key_nick;
this.setKey_nick_case(key_nick.substring(0,1).toUpperCase()+key_nick.substring(1,key_nick.length()));
}

public String getKey_nick_case()
{
return key_nick_case;
}

public void setKey_nick_case(String key_nick_case)
{
this.key_nick_case = key_nick_case;
}
}

package com.auto.fanwei.create;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.auto.fanwei.comm.Constant;
import com.auto.fanwei.comm.ConstantAction;
import com.auto.fanwei.comm.ConstantDao;
import com.auto.fanwei.comm.ConstantJsp;
import com.auto.fanwei.comm.ConstantModel;
import com.auto.fanwei.comm.ConstantSqlXml;
import com.auto.fanwei.comm.ConstantSystem;
import com.auto.fanwei.model.ColModel;
import com.auto.fanwei.model.TableModel;
import com.auto.fanwei.sql.DBConfig;

public class CreateFile
{
public static TableModel getTable(TableModel table)
{
List colList=new ArrayList();
DBConfig con=new DBConfig();
try
{
String sql="";
if(Constant.SQLSERVER_TYPE==1)
{
sql="select column_name,data_type from cols where table_name='"+table.getName()+"' order by column_id";
}
else if(Constant.SQLSERVER_TYPE==2)
{
sql="show columns from "+table.getName();
}
ResultSet rs=con.executQuery(sql,null);
ColModel col=null;
while(rs.next())
{
col=new ColModel();
col.setName(rs.getString(1).toString().toLowerCase());
col.setType(Constant.getColType(rs.getString(2).toString()));
colList.add(col);
}
table.setColList(colList);
}
catch(Exception e)
{
System.out.println(e.toString());
return null;
}
finally
{
try
{
con.close();
}
catch(Exception e)
{
return null;
}
}
return table;
}
public static String createAction(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantAction.createAction(table));
return strBuffer.toString();
}
public static String createDao(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantDao.createDao(table));
return strBuffer.toString();
}
public static String createIbatis(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantDao.createIbatis(table));
return strBuffer.toString();
}
public static String createModelBean(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantModel.createModel(table));
return strBuffer.toString();
}
public static String createFormBean(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantModel.createFormBean(table));
return strBuffer.toString();
}
public static String createSqlXml(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantSqlXml.createHead(table));
strBuffer.append(ConstantSqlXml.createResult(table));
strBuffer.append(ConstantSqlXml.createSelect(table));
strBuffer.append(ConstantSqlXml.createInsert(table));
strBuffer.append(ConstantSqlXml.createUpdate(table));
strBuffer.append(ConstantSqlXml.createSelectPage(table));
strBuffer.append(ConstantSqlXml.createSelectList(table));
strBuffer.append(ConstantSqlXml.createFeet(table));
return strBuffer.toString();
}
public static String createAddJsp(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantJsp.createAddJsp(table));
return strBuffer.toString();
}
public static String createEditJsp(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantJsp.createEditJsp(table));
return strBuffer.toString();
}
public static String createListJsp(TableModel table)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantJsp.createListJsp(table));
return strBuffer.toString();
}
public static String createLeftJsp(List tableList)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantJsp.createLeftJsp(tableList));
return strBuffer.toString();
}
public static String CreateStruts(List tableList)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantSystem.CreateStruts(tableList));
return strBuffer.toString();
}
public static String CreateSqlMap(List tableList)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantSystem.CreateSqlMap(tableList));
return strBuffer.toString();
}
public static String CreateContext(List tableList)
{
StringBuffer strBuffer=new StringBuffer("");
strBuffer.append(ConstantSystem.CreateContext(tableList));
return strBuffer.toString();
}
}

‘伍’ 如何将表单信息传递javabean封装的查询数据库的类来提取想要的信息。

getAllRecords()方法里设置一个字符串类型的参数:public ArrayList<Records> getAllRecords()
(String address),然后这里String sql = "select * from records where college like '%+"北京"+%';";改成String sql = "select * from records where college like '%+address+%';";,最后在调用getAllRecords("北京")时候把“北京”作为参数传进来。

‘陆’ 什么是JavaBean

一、JavaBean的定义: JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。 用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。 JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。 二、JavaBean的特征:编写javabean就是编写一个java的类,所以你只要会写类就能编写一个bean,这个类创建的一个对象称做一个bean。为了能让使用这个bean的应用程序构建工具(比如JSP引擎)知道这个bean的属性和方法,只需在类的方法命名上遵守以下规则: 1. 如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法: getXxx(),用来获取属性xxx。 setXxx(),用来修改属性xxx.。 2. 对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用"is"代替上面的"get"和"set"。 3. 类中方法的访问属性都必须是public的。 4. 类中如果有构造方法,那么这个构造方法也是public的并且是无参数的。

‘柒’ java ee如何使用javabean对一个操作数据库的项目进行封装

封装成一个工具类的话,增删改用ParameterMetaData pmd = stmt.getParameterMetaData(); int count = pmd.getParameterCount(); count是sql语句中的问号个数,比如 "insert into user (name,age) values (?,?)" ,count的值就为2,然后把数据放到一个Object里传给工具类。 查询操作,写个handler,把bean.class传给handler,查询数据库得到数据rs,....ResultSetMetaData rsmd = rs.getMetaData();int count = rsmd.getColumnCount();String columnName = rsmd.getColumnName(i);Object columnValue = rs.getObject(i);columnName是字段名称,columnValue是字段的值,用暴力反射把数据封到Object里,在外面强转就行。数据源看你自己想用什么了

‘捌’ 怎么在jsp文件里边导入javabean封装的数据库

javabean中不链接数据库,只有getter和setter。数据库链接写到中。

‘玖’ java封装数据库连接,一般是写到servlet中还是javaBean中

一般是javaBean中 servlet只是处理业务方面的问题。
等项目变大的时候会有action 这是后封装数据的问题一样还是
交给javaBean 处理。这样的数据业务一般只能在数据访问层的。