栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaBean DAO and VO查询数据库中的信息

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaBean DAO and VO查询数据库中的信息

ADO:将访问数据库的操作放到特定的类中去处理,JSP是表现层,所以在表现层调用这个特定的类提供的方法对数据库进行操作,通常将该java类叫做DAO类,它专门负责对数据库的访问

VO:就是普通的JavaBean

JavaBean:的属性,是根据数据中表的列(字段)决定的

JavaBean需要满足3个条件:

1.类 public

2.属性 private

3.属性的setter和gettre方法

例子:

 

项目结构:

 

 com.Bean包:Student.java,代码如下:

package com.Bean;

public class Student {
	private String id;
	private String name;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
}

com.Dao包:StudentDao.java,编写数据库相关的操作,代码如下:

package com.Dao;

import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.Util.DBUtil;

import com.Bean.Student;

public class StudentDao {
	public static ArrayList query(String name) throws Exception{
		ArrayList students = null;//声明变量需要赋初值
		ResultSet rs=null;
		Connection conn=null;
		PreparedStatement ps=null;
		try{
			students=new ArrayList<>();
			 conn=DBUtil.getConectionDb();//连接数据库
			String s1 = "select * from users where name=?";
			ps = conn.prepareStatement(s1);//SQL查询
			ps.setString(1, name);
			 rs = ps.executeQuery();
			while(rs.next()){
				Student s = new Student();//创建JavaBean的Student对象
				s.setId(rs.getString(1));
				s.setName(rs.getString(2));
				students.add(s);//将对象放到list集合中
			}
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			DBUtil.CloseDB(rs, ps, conn);//关闭数据库
		}
		return students;
	}
}

com.Util包:DBUtil.java,数据库的连接代码:

package com.Util;
 
import java.sql.Connection;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
 
public class DBUtil {
	public static String username="root";//数据库登录用户
	public static String password="123456";//密码
	public static String database="student";//数据库名字
	public static String url="jdbc:mysql://localhost:3306/"+database+"?useUnicode=true&characterEncoding=utf-8";
	
	static{//静态的会自动调用
		try{
			Class.forName("com.mysql.jdbc.Driver");//加载驱动
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}
	}
	//连接数据库的方法
	public static Connection getConectionDb(){
		Connection conn=null;
		try{
			conn=DriverManager.getConnection(url,username,password);//获得数据库连接
		}catch(SQLException e){
			e.printStackTrace();
		}
		return conn;
	}
	//关闭数据库的方法
	public static void CloseDB(ResultSet rs,PreparedStatement stm,Connection conn){
		if(rs!=null){
			try{
				rs.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
		if(stm!=null){
			try{
				stm.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
		if(conn!=null){
			try{
				conn.close();
			}catch(SQLException e){
				e.printStackTrace();
			}
		}
		
	}
	
 
}

创建查询页面,form.jsp,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'form.jsp' starting page
    
	
	
	    
	
	
	

  
  
  
    
请输入要查询的名字:

创建查询的显示页面,query.jsp,代码如下:

<%@ page language="java" import="java.util.*" import="com.Bean.*" pageEncoding="UTF-8"%>
<%@ page import="com.Dao.*" %>
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'query.jsp' starting page
    
	
	
	    
	
	
	

  
  
  
    <%
    request.setCharacterEncoding("UTF-8");
    String name = request.getParameter("name");
    ArrayList list = StudentDao.query(name); //调用StudentDao的方法query
     %>
     
     <%
     for(int i=0;i
      
      <%
      }
       %>
     
学号 姓名
<%=s.getId() %> <%=s.getName() %>

运行form.jsp,输入要查询的数据:

 点击查询:

数据库找中的表:

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号