一、servlet+Jdbc案例框架(MVC)

本文档详细介绍了如何使用Servlet、JDBC和MVC模式构建一个简单的应用框架。首先,概述了项目的架构,然后逐步阐述实现步骤,包括导入所需的jar包、设计Entity、DAO、Service层接口及其实现,以及配置C3P0连接池。最后,提到了分页查询的相关组件和配置。
摘要由CSDN通过智能技术生成

一、架构

在这里插入图片描述

二、实现步骤

开源组件及jar文件:
数据库驱动包(1个)
C3P0连接池包(2 个)
DbUtils组件 (1个)
BeanUtils组件(2个)
FileUpload组件(2个)
配置
C3p0配置文件
分层:
Entity/dao/service/servlet

导入java包

在这里插入图片描述

entity类

/**

  • 实体类设计
    */
    public class FoodType {

    private int id;//-- 类别主键
    private String typeName;// – 类别名称

    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }
    public String getTypeName() {
    return typeName;
    }
    public void setTypeName(String typeName) {
    this.typeName = typeName;
    }

}

Dao层

DAO层接口

/**

  • dao接口设计
    /
    public interface IFoodTypeDao {
    /
    *
    • 添加
      /
      void save(FoodType foodType);
      /
      *
    • 更新
      /
      void update(FoodType foodType);
      /
      *
    • 删除
      /
      void delete(int id);
      /
      *
    • 根据主键查询
      /
      FoodType findById(int id);
      /
      *
    • 查询全部
      /
      List getAll();
      /
      *
    • 根据名称查询
      */
      List getAll(String typeName);
      }

DAO层实体类

/**

  • dao实现

*/
public class FoodTypeDao implements IFoodTypeDao {

@Override
public void delete(int id) {
	String sql = "delete from foodType where id=?";
	try {
		JdbcUtils.getQuerrRunner().update(sql, id);
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

@Override
public FoodType findById(int id) {
	String sql = "select * from foodType where id=?";
	try {
		return JdbcUtils.getQuerrRunner().query(sql, new BeanHandler<FoodType>(FoodType.class), id);
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

@Override
public List<FoodType> getAll() {
	String sql = "select * from foodType";
	try {
		return JdbcUtils.getQuerrRunner().query(sql, new BeanListHandler<FoodType>(FoodType.class));
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

@Override
public List<FoodType> getAll(String typeName) {
	String sql = "select * from foodType where typeName like ?";
	try {
		return JdbcUtils.getQuerrRunner()
			.query(sql, new BeanListHandler<FoodType>(FoodType.class),"%" + typeName + "%");
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

@Override
public void save(FoodType foodType) {
	String sql = "INSERT INTO foodType(typeName) VALUES(?);";
	try {
		JdbcUtils.getQuerrRunner().update(sql,foodType.getTypeName());
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

@Override
public void update(FoodType foodType) {
	String sql = "update foodType set typeName=? where id=?";
	try {
		JdbcUtils.getQuerrRunner().update(sql, foodType.getTypeName(),foodType.getId());
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}

}

service层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值