授课课时:2 授课地点:三教203
授课形式:教学做合一
教学目标
(一)知识目标:
- 理解菜品管理类的设计。
- 掌握JDBC工具类操作数据库。
(二)能力目标:
- 能够通过控制台实现菜品信息管理。
- 能独立编写增删改查数据库操作的方法。
(三)素质目标:
- 增强问题解决能力。
- 培养编程实践技巧。
教学重难点
(一)重点:实现菜品管理类的增删改查方法。
(二)难点:控制台输入与数据库操作的整合。
教学资源
课件、教科书、MySQL、Java IDE、驱动包
教学方法
(一)教法
1.讲授法 2.示范法 3.讨论法
(二)学法
1.自主学习 2.实践操作 3.归纳总结
教学过程设计
(一)课前任务
阅读数据库基础,预习JDBC操作和控制台输入处理。
(二)课程导入
回顾数据库基础,引入FoodManagement类设计,目标是掌握通过控制台管理菜品信息。
(三)理论讲解
1.介绍FoodManagement类的作用和设计思路
2.编写插入菜品信息的方法
public class FoodManagement {
private Food insertFoodInfo() {
Food food = new Food();
System.out.println("请输入菜品信息");
Scanner sc = new Scanner(System.in);
System.out.print("菜品名称:");
food.setName(sc.next());
System.out.print("菜品价格:");
food.setPrice(sc.nextDouble());
System.out.print("菜品描述:");
food.setDepict(sc.next());
System.out.print("菜品状态:");
food.setState(sc.nextInt());
return food;
}
}
3.实现新增菜品信息的方法
使用JDBC工具类实现addFood方法
private void addFood(Food food) throws Exception {
// 创建QueryRunner对象
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
// 定义插入菜品的SQL
String sql = "INSERT INTO food (name, price, depict, state) VALUES (?, ?, ?, ?)";
// 设置传入SQL中的参数值
Object[] parms = {food.getName(), food.getPrice(), food.getDepict(), food.getState()};
// 执行插入菜品的SQL
int count = qr.update(sql, parms);
// 输出插入结果
if (count < 1) {
System.out.println("新增失败!");
} else {
System.out.println("新增菜品成功!");
}
}
4.实现查询菜品信息的方法
使用JDBC工具类实现getFood方法
(四)学生实战项目
实战项目设计:菜品管理系统
项目要求:
- 搭建数据库环境
- 创建MySQL数据库
food_management
- 创建
food
表,包含字段:id
(主键)、name
、price
、depict
、state
- 创建MySQL数据库
- 实现菜品管理类
- 编写FoodManagement类,实现新增、查询、编辑和删除菜品信息的方法
- 使用JDBC工具类进行数据库操作
- 用户交互
- 在main()方法中实现用户交互,通过控制台输入进行菜品管理操作
课程总结
通过控制台实现菜品信息的增删改查操作,掌握了使用JDBC工具类与数据库进行交互的方法。
课后作业
完善FoodManagement类,添加编辑和删除菜品信息的功能。
教学反思
计划在后续课程中增加更多的实践环节,提供更多样的示例,并强化代码审查。