数据库中有个学生表(STUDENT),字段有学号、姓名、性别、生日。
1、建立学生对应的JavaBean
public class Student {private int no;
private String name;
private int sex;
private Date birthday;
// setter 、getter方法
}
2、从数据库中查询数据封装到JavaBean中
String sql = "select from student";ps = connectionpreparestatement(sql);
rs = psexeceteQuery();
ArrayList<Student> list = new ArrayList<Student>();
while(rshasNext()) {
Student s = new Student();
ssetNo(rsgetInt("NO"));
//
listadd(s);
}
//然后遍历list就可以拿到Student的数据了。
关系可以具体的来看,
如MVC模式, Model--javaBean, View--jsp,Control---servlet
javaBean其实就是一个实体类,用来描述某个对象,如学生类(对象),里面有学生的属性和一些get、set方法,当查询数据库后可以调用javaBean这个对象来处理结果集,不用反复 *** 作数据库。
Jsp,java server page,其实早起的jsp页面是很复杂的,因为javaBean、Servlet这些其实都可以写在jsp文件里面,但考虑到性能和维护问题,所以才会有后来的MVC模式等等。
Jsp现在主要用来展示,就是展示页面,一个良好的jsp文件是不应该带有任何java代码的,单纯用于展示。
Servlet是一个规范,用代码来体现就是:javaxservletServlet ,这是一个interface,它提供在 Web 上进行请求和响应服务。在这里可以从jsp获得request,然后返回reponse给jsp,其间会引入javaBean作为对象处理类。
jdbc:这个比较好理解,就是用于数据库连接。当你的servlet需要连入数据库进行 *** 作时,首先需要引入jdbc用于建立与数据库的连接。
你看看conn = DriverManagergetConnection(sConnStr);用户名,密码用不用加。
你没吧form表单发上,
<jsp:useBean id="do5" class="doiDo" scope="page" />
<jsp:setProperty name="do5" property="" />
<jsp:useBean id="do2" class="doiJVo" scope="page" />这里表单中个个name必须跟doclass中的那些sno等字段名完全相同。给你个建议,给JVoclass加个main方法把那些值输出来看看,是否是空。最好新建个testjava来测试。
数据库代码当然要重新封装在一个类中,只有这样你才能共用。
比如class DB{
static public void connect() throws SQLException{
//这里连接采用静态方法,应该是危险的,因为static只产生一块内存地址属于共用的,会产生你想访问你已经关闭的数据库连接,也就是说你会遇到无法建立连接的问题。
//另外你的返回类型应该是 Connection,不能为空,否则你得不到返回链接值呀。
你的代码。
}
}
调用的时候要在实现类中实例化这个类:DB db=new DB(); 然后dbconnect()
你用
写一个购物车的bean,里边有产品和数量
public class CarProduct {
private XXX XXX;
private int count;
public Book getXXX() {
return XXX;
}
public void setXXX(XXX XXX) {
thisXXX= XXX;
}
public int getCount() {
return count;
}
public void setCount(int count) {
thiscount = count;
}
}
用session存购物车里的东西,提交订单的时候,把购物车清空就行,
xc_jetguo 说得对,SQL语法有问题。
看看你这两个SQL吧!第一条是正确的,第二条你就按一条的写法写不就对了。而你这里是不一样的。
redBeanupdateDB("INSERT INTO Customer(custuser, custpass, First_Name, Last_Name, Email , pet , petname) VALUES ('"+user+"', '"+pass+"', '"+fname+"', '"+lname+"', '"+email+"', '"+pet+"', '"+petname+"' )");
redBean1updateDB("INSERT INTO Customer(INSERT INTO Users(username, password , Type) VALUES ('"+user+"', '"+pass+"', '"+type+"')");
仔细比较一下,把后面那一条改成这样就行了。
redBean1updateDB("INSERT INTO Users(username, password , Type) VALUES ('"+user+"', '"+pass+"', '"+type+"')");
我用你的代码试一下,首先,你数据库连接是没问题的。写法对我也有些启发。
你看看conn = DriverManagergetConnection(sConnStr);用户名,密码用不用加。
你没吧form表单发上,
<jsp:useBean id="do5" class="doiDo" scope="page" />
<jsp:setProperty name="do5" property="" />
<jsp:useBean id="do2" class="doiJVo" scope="page" />这里表单中个个name必须跟doclass中的那些sno等字段名完全相同。给你个建议,给JVoclass加个main方法把那些值输出来看看,是否是空。最好新建个testjava来测试。
最后,那个数据源你不会没设置吧!
jsp - 上传到数据库中 方法如下: 第一步:建立数据库
create table test_img(id number(4),name varchar(20),img long raw);
第二步:(NewImghtml)
<html><head><title>添加</title></head>
<body>
添加<br>
<form method="post" action="insertNewsjsp">
图像ID:<input name="id" size="10">
<br>
选择图像:<input type="file" name="image">
<br>
<input type="submit" value="上传" name="submit" size="25">
<input type="reset" value="清除" name="clear" size="25">
<br>
</form>
</body></html>
第三步:插入数据库(InsertImgjsp)
<%@ page language="java"%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="javautil" %>
<%@ page import="javasql"%>
<%@ page import="javatext"%>
<%@ page import="javaio"%>
<%
ClassforName("commicrosoftjdbcsqlserverSQLServerDriver"); //commicrosoftjdbcsqlserverSQLserveDriver
String url="jdbc:oracle:thin:@lubin:1521:b2bdb"; //jdbc:microsoft:sqlserver://127001:1433; jdbc:microsoftsqlserver://127001:1433
Connection con=DriverManagergetConnection(url,"demo","demo");
//插入数据库
String sql="insert into test_img values (,,)";
//获取传值ID
String id=requestgetParameter("id");
//获取image的路径
String kk=requestgetParameter("image");
//转换成file格式
File filename=new File(kk);
//将文件的长度读出,并转换成Long型
long l1=filenamelength();
int l2=(int)l1;
//以流的格式赋值
FileInputStream fis=new FileInputStream(filename);
PreparedStatement ps =conprepareStatement(sql);
pssetString(1,id);
pssetString(2,filenamegetName());
pssetBinaryStream(3,fis,l2);
//pssetBinaryStream(3,fis,fisavailable());
psexecuteUpdate();
//psexecute();
psclose();
fisclose();
outprintln("ok!!!");
%>
第四步:显示(ShowImgjsp)
<%@ page language="java" import="javasql"%>
<%@ page import="javaio"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
ClassforName("oraclejdbcdriverOracleDriver");
String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
String image_id = (String) requestgetParameter("ID");
Connection con=DriverManagergetConnection(url,"demo","demo");
PreparedStatement sql=conprepareStatement("select from test_img WHERE id = " + image_id);
ResultSet rs = sqlexecuteQuery();
rsnext();
//输入img字段内容到in
InputStream in = rsgetBinaryStream("img");
//以下可是任何处理,比如向页面输出:
responsereset();
responsesetContentType("image/jpeg");
byte[] b = new byte[1024];
int len;
while((len=inread(b)) >0)
responsegetOutputStream()write(b,0,len);
inclose();
rsclose();
%>
以上就是关于用javabean怎么样才能显示数据库中的数据,(Java与数据库已通过jdbc在另已在dao中连接 )全部的内容,包括:用javabean怎么样才能显示数据库中的数据,(Java与数据库已通过jdbc在另已在dao中连接 )、解释javabean、jdbc、servlet和jsp之间的关系、怎么把javabean的数据插入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)