25.综合练习之车站业务分析

  

完成步骤:

  需求: 以车站业务对车票做增删改查操作

  1.建立数据库

  2.建立车票表

  3.建立java项目结构(model\dao\service\test)

  4.创建model

  5.创建dao(接口和实现)并实现测试

  6.创建service(接口实现)

26.综合练习之数据库与表建立

  

27.项目标准结构创建

  

28\29\30\31.综合练习之代码实现

  1.model

 package com.day03.station.model;

 /**
* 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
* 疑问咨询wx:851298348
*/
public class Ticket {
private Integer id;
private String startStation;
private String stopStation;
private String startTime;
private Integer ticketPrice; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getStartStation() {
return startStation;
} public void setStartStation(String startStation) {
this.startStation = startStation;
} public String getStopStation() {
return stopStation;
} public void setStopStation(String stopStation) {
this.stopStation = stopStation;
} public String getStartTime() {
return startTime;
} public void setStartTime(String startTime) {
this.startTime = startTime;
} public Integer getTicketPrice() {
return ticketPrice;
} public void setTicketPrice(Integer ticketPrice) {
this.ticketPrice = ticketPrice;
}
}

Ticket

  2.dao接口

 package com.day03.station.dao;

 import com.day03.station.model.Ticket;

 import java.util.List;

 /**
* 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
* 疑问咨询wx:851298348
*/
public interface ITicketDao {
//增加
public void save(Ticket ticket);
//删除 根据id删除
public void delete(Integer id); //修改
public void update(Ticket ticket);
//查找 查单个 根据id查询
public Ticket queryById(Integer id);
//查找多个 (集合装)List
public List<Ticket> queryAll();
}

ITicketDao

  3.dao实现

 package com.day03.station.dao.impl;

 import com.day03.station.dao.ITicketDao;
import com.day03.station.model.Ticket; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List; /**
* 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
* 疑问咨询wx:851298348
*/
public class TicketDao implements ITicketDao {
@Override
public void save(Ticket ticket) { try { //1.加载
Class.forName("com.mysql.jdbc.Driver");
//2.链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/station_data", "root", "admin");
//3.创建编译语句
String sql="INSERT INTO ticket (start_station,stop_station,start_time,ticket_price) VALUES (?,?,?,?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//设置参数
preparedStatement.setString(1,ticket.getStartStation());
preparedStatement.setString(2,ticket.getStopStation());
preparedStatement.setString(3,ticket.getStartTime());
preparedStatement.setInt(4,ticket.getTicketPrice());
//4.执行
preparedStatement.executeUpdate();
//5.释放资源
preparedStatement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
} } @Override
public void delete(Integer id) {
try { //1.加载
Class.forName("com.mysql.jdbc.Driver");
//2.链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/station_data", "root", "admin");
//3.创建编译语句
String sql="DELETE FROM ticket WHERE id=?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//设置参数
preparedStatement.setInt(1,id);
//4.执行
preparedStatement.executeUpdate();
//5.释放资源
preparedStatement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
} @Override
public void update(Ticket ticket) {
try { //1.加载
Class.forName("com.mysql.jdbc.Driver");
//2.链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/station_data", "root", "admin");
//3.创建编译语句
String sql="UPDATE ticket SET ticket_price=? WHERE id=?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//设置参数
preparedStatement.setInt(1,ticket.getTicketPrice());
preparedStatement.setInt(2,ticket.getId()); //4.执行
preparedStatement.executeUpdate();
//5.释放资源
preparedStatement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
} @Override
public Ticket queryById(Integer id) {
//准备一个对象,装获取到的结果数据
Ticket ticket = new Ticket();
try { //1.加载
Class.forName("com.mysql.jdbc.Driver");
//2.链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/station_data", "root", "admin");
//3.创建编译语句
String sql="SELECT id,start_station,stop_station,start_time,ticket_price FROM ticket WHERE id=?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//设置参数
preparedStatement.setInt(1,id);
//4.执行
ResultSet resultSet = preparedStatement.executeQuery();
//解析结果集
while (resultSet.next()){
//取id
int id1 = resultSet.getInt("id");
//取开始车站
String startStation = resultSet.getString("start_station");
//取到达车站
String stopStation = resultSet.getString("stop_station");
//取发车时间
String startTime = resultSet.getString("start_time");
//取车票价格
int ticketPrice = resultSet.getInt("ticket_price");
//封装到对象里面去
ticket.setId(id1);
ticket.setStartStation(startStation);
ticket.setStopStation(stopStation);
ticket.setStartTime(startTime);
ticket.setTicketPrice(ticketPrice); } //5.释放资源
preparedStatement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
return ticket;
} @Override
public List<Ticket> queryAll() {
//准备一个对象,装获取到的结果数据
//Ticket ticket = new Ticket();
//准备一个可以装多个对象的对象来装多个车票对象==>集合对象List
List<Ticket> list=new ArrayList<>();
//list.add(); 添加
//list.get(); 取
try { //1.加载
Class.forName("com.mysql.jdbc.Driver");
//2.链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/station_data", "root", "admin");
//3.创建编译语句
String sql="SELECT id,start_station,stop_station,start_time,ticket_price FROM ticket";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//设置参数 //4.执行
ResultSet resultSet = preparedStatement.executeQuery();
//解析结果集
while (resultSet.next()){
//取id
int id1 = resultSet.getInt("id");
//取开始车站
String startStation = resultSet.getString("start_station");
//取到达车站
String stopStation = resultSet.getString("stop_station");
//取发车时间
String startTime = resultSet.getString("start_time");
//取车票价格
int ticketPrice = resultSet.getInt("ticket_price");
//封装到对象里面去
Ticket ticket = new Ticket();
ticket.setId(id1);
ticket.setStartStation(startStation);
ticket.setStopStation(stopStation);
ticket.setStartTime(startTime);
ticket.setTicketPrice(ticketPrice); //将车票对象装入集合对象里面
list.add(ticket); } //5.释放资源
preparedStatement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}

TicketDao

  4.dao测试

 package com.day03.station.testDao;

 import com.day03.station.dao.impl.TicketDao;
import com.day03.station.model.Ticket;
import org.junit.Test; import java.util.List; /**
* 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
* 疑问咨询wx:851298348
*/
public class TestTicketDao {
TicketDao ticketDao = new TicketDao();
//测试车票保存
@Test
public void testSave(){
//1.创建dao对象
//TicketDao ticketDao = new TicketDao();
//2.调用dao方法
Ticket ticket = new Ticket();
//赋值
ticket.setStartStation("南充");
ticket.setStopStation("成都");
ticket.setStartTime("2018-05-20 13:14:00");
ticket.setTicketPrice(99);
ticketDao.save(ticket);
}
@Test
public void testDelete(){
ticketDao.delete(5);
}
@Test
public void testUpdate(){
Ticket ticket = new Ticket();
ticket.setTicketPrice(120);
ticket.setId(2);
ticketDao.update(ticket);
}
@Test
public void testQueryById(){
Ticket ticket = ticketDao.queryById(2);
System.out.println("ticket="+ticket);
}
@Test
public void testQuery(){
List<Ticket> tickets = ticketDao.queryAll();
System.out.println("tickets="+tickets); } }

TestTicketDao

  5.service接口

 package com.day03.station.service;

 import com.day03.station.model.Ticket;

 import java.util.List;

 /**
* 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
* 疑问咨询wx:851298348
*/
public interface ITicketService {
//增加
public void save(Ticket ticket);
//删除 根据id删除
public void delete(Integer id); //修改
public void update(Ticket ticket);
//查找 查单个 根据id查询
public Ticket queryById(Integer id);
//查找多个 (集合装)List
public List<Ticket> queryAll();
}

ITicketService

  6.service实现

 package com.day03.station.service.impl;

 import com.day03.station.dao.impl.TicketDao;
import com.day03.station.model.Ticket;
import com.day03.station.service.ITicketService; import java.util.List; /**
* 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
* 疑问咨询wx:851298348
*/
public class TicketService implements ITicketService {
TicketDao ticketDao = new TicketDao(); @Override
public void save(Ticket ticket) {
//1.创建dao对象
//TicketDao ticketDao = new TicketDao();
//2.调用dao方法
ticketDao.save(ticket);
} @Override
public void delete(Integer id) {
ticketDao.delete(id);
} @Override
public void update(Ticket ticket) {
ticketDao.update(ticket);
} @Override
public Ticket queryById(Integer id) {
Ticket ticket = ticketDao.queryById(id); return ticket;
} @Override
public List<Ticket> queryAll() {
List<Ticket> tickets = ticketDao.queryAll(); return tickets;
}
}

TicketService

  7.项目完成后的结构

  

03_java基础(九)之综合练习与考核评估的更多相关文章

  1. Bootstrap<基础九>辅助类

    Bootstrap 中的一些可能会派上用场的辅助类. 文本 以下不同的类展示了不同的文本颜色.如果文本是个链接鼠标移动到文本上会变暗: 类 描述   .text-muted "text-mu ...

  2. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  3. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  4. Java基础九--抽象类

    Java基础九--抽象类 一.抽象类介绍 /*抽象类:抽象:笼统,模糊,看不懂!不具体. 特点:1,方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰. 抽象方法必须定义在抽象类中 ...

  5. day 63 Django基础九之中间件

    Django基础九之中间件   本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学 ...

  6. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  7. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  8. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  9. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

随机推荐

  1. python- do_excel

    # @File : class_01_do_excel.py # coding=gbk #pip install openpyxl #新建.xlsx,一定要右键新建 from openpyxl imp ...

  2. html5本地存储技术 localstorage

    html在使用的时候,例如在input框里面,用户输入信息的时候,一点提交信息就开始向后天交互 但是一刷新或者用户再打开一个新的网页又得重新输入,这就牵扯到本地存储的问题 LocalStorage,是 ...

  3. LeetCode 4. Median of Two Sorted Arrays & 归并排序

    Median of Two Sorted Arrays 搜索时间复杂度的时候,看到归并排序比较适合这个题目.中位数直接取即可,所以重点是排序. 再来看看治阶段,我们需要将两个已经有序的子序列合并成一个 ...

  4. 20165205 2017-2018-2 《Java程序设计》第九周学习总结

    20165205 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 掌握URL类的使用方法 URL类的构造方法: public URL(String spec) ...

  5. 安装JavaFX Scene Builder,并配置到Eclipse

    转载自:https://www.yiibai.com/javafx/install-javafx-scene-builder-into-eclipse.html 1-JavaFX Scene Buil ...

  6. IBeacon协议分析

    IBeacon协议分析 跳转至: 导航. 搜索 对于一个UUID是E2C56DB5-DFFB-48D2-B060-D0F5A71096E0, major是0, minjor是0的iBeacon,此时的 ...

  7. 关于时间:UTC/GMT/xST/ xDT

    UTC ,Coordinated Universal Time GMT ,Greenwich Mean Time GMT和UTC 一般来说是意义几近相同的, 不过 UTC Coordinated Un ...

  8. 远程桌面连接MySQL遇到的问题及解决方法总结

    背景提要:想用Delphi做一个可以连接Mysql数据库的桌面应用程序.其中遇到了一些让自己很苦恼的问题.因为自己是新手,Delphi用的不熟,FireDAC这个连接数据库里控件更是没有接触过,对安装 ...

  9. antd-mobile使用报错

    在第一次使用时,按照官网的进行配置,完了报错找不到antd-mobile下面的css 解决方法来源于 :https://github.com/ant-design/ant-design-mobile/ ...

  10. element(vue.js)+django 整合

    近期开始接触Python,从web开发入门.尝试Django与vue整合,大概分3个阶段: 1.基于Django开发web后端 2.基于element开发好前端 3.前后端整合 参考:https:// ...