目录
1、JavaBean概述
2、JavaBean的应用
1、JavaBean封装数据
package entity;
/*
* 实体类字段最好和表字段一致
*/
public class User{
private Integer id;
private String name;
private String pad;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPad() {
return pad;
}
public void setPad(String pad) {
this.pad = pad;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", pad=" + pad + "]";
}
}
2、JavaBean封装业务
package dao;
import entity.User;
public interface UserDao {
/**
* 查询判断登录的用户信息是否存在
*
* @param user
* 接收到的用户信息
* @return 从数据中查询到的的用户信息
*/
public User login(User user);
/**
* 根据ID查询用户信息
*
* @param id
* @return
*/
public User queryUserById(Integer id);
}
----------------我是两个Java文件之间的分割线--------------------
package dao.impl;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import util.BaseDao;
import dao.UserDao;
import entity.User;
import util.JDBCUtil;
public class UserDaoImpl extends BaseDao implements UserDao{
@Override
public List<User> queryObject(ResultSet rs) {
List<User> users=new ArrayList<User>();
try {
while (rs.next()) {
User u=new User();
u.setId(rs.getInt("id"));
u.setName(rs.getString("name"));
u.setPad(rs.getString("pad"));
users.add(u);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
JDBCUtil.init().close(conn, ps, rs);
}
return users;
}
@Override
public User login(User user) {
String sql="select * from t_user where name=? and pad=?";
List<Object> args=new ArrayList<Object>();
args.add(user.getName());
args.add(user.getPad());
List<User> users=query(sql, args);
if(users.size()>0) {
return users.get(0);
}
return null;
}
@Override
public User queryUserById(Integer id) {
String sql="select * from t_user where id=?";
List<Object> args=new ArrayList<Object>();
args.add(id);
List<User> users=query(sql, args);
if(users.size()>0) {
return users.get(0);
}
return null;
}
}
package biz;
import entity.User;
public interface UserService {
public User login(User user);
}
---------------我是分割线---------------------------
package biz.impl;
import biz.UserService;
import dao.UserDao;
import dao.impl.UserDaoImpl;
import entity.User;
public class UserServiceImpl implements UserService {
private UserDao ud=new UserDaoImpl();
@Override
public User login(User user) {
return ud.login(user);
}
}
在实现方法中,service只是调用了dao层的方法,而具体是怎样实现的,在service中并不重要。
这也符合程序代码间低耦合的设计要求。
编写service最大的作用就是将程序控制与业务实现分离,不管dao层的代码做出如何改动,在service中控制程序执行对,都不会受到影响。这也是service存在的意义。
3、JSP页面中的JavaBean
1、创建JavaBean标签<jsp : useBean>
2、设置JavaBean属性<jsp : setProperty >
3、获取JavaBean属性<jsp : getProperty>
使用JSP标签来代替JSP脚本实现信息的显示
<!-- 默认作用域为page -->
<!-- 创建JavaBean标签 -->
<jsp:useBean id="user" class="pojo.User"></jsp:useBean>
<!-- 设置JavaBean属性的值 -->
<jsp:setProperty property="name" name="user" value="张大帅" />
<jsp:setProperty property="pad" name="user" value="真特么帅!" />
<!-- 读取JavaBean属性中的值 -->
<jsp:getProperty property="name" name="user" />
<jsp:getProperty property="pad" name="user" />