音乐管理的增删改查

异常和错误

1.运行时异常 可以不处理 jvm虚拟机 处理
2.编译异常 一定要处理

处理异常的2种方式:
1.try catch 自己处理
2.throws 给掉用者处理

自定义异常

实体类:与数据库 对象
1.构造方法
2.属性
3.get set
4.toString

分层
1.model 实体类
2.dao 持久层 对数据库操作 增删改查

在昨天的基础上新建一个MusicDao文件,代码如下:

package com.zhongruan.dao;

import com.zhongruan.Util.DBUtil;
import com.zhongruan.model.Music;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class MusicDao {
    public List<Music> findMusic(){
        ResultSet resultSet=null;
        PreparedStatement statement=null;
        Connection connection=null;
        List<Music> musics=new ArrayList<>();

        try {
            connection= DBUtil.getConnection();
            String sql="select * from music";
            //4.得到statement
            statement=connection.prepareStatement(sql);
            //5.执行sql
            resultSet=statement.executeQuery();
            //6.处理结果集
            while (resultSet.next()){
                Music music=new Music();
                music.setId(resultSet.getInt(1));
                music.setName(resultSet.getString(2));
                music.setAuthor(resultSet.getString(3));
                musics.add(music);
            }
            //7.关闭资源
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            DBUtil.closeAll(resultSet,statement,connection);
        }
        return musics;
    }
    public void  delete(int id) throws SQLException,ClassNotFoundException {
        Connection connection = DBUtil.getConnection();
        String sql="delete from music where id=?";
        PreparedStatement statement =connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.executeUpdate();
        DBUtil.closeAll(null,statement,connection);
    }

    public void  update(int id) throws SQLException,ClassNotFoundException {
        Connection connection = DBUtil.getConnection();
        String sql="update music set name ='灾',author='yyqx' where id=?";
        PreparedStatement statement =connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.executeUpdate();
        DBUtil.closeAll(null,statement,connection);
    }
    public void  insert(String name,String author) throws SQLException,ClassNotFoundException {
        Connection connection = DBUtil.getConnection();
        String sql="insert into music(NAME,author) VALUES (?,?) ";
        PreparedStatement statement =connection.prepareStatement(sql);
        statement.setString(1,name);
        statement.setString(2,author);
        statement.executeUpdate();

    }
}

再将Test的代码进行更改,结果如下:

package com.zhongruan;

import com.zhongruan.Util.DBUtil;
import com.zhongruan.dao.MusicDao;
import com.zhongruan.model.Music;

import java.awt.*;
import java.awt.image.DirectColorModel;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        MusicDao musicDao=new MusicDao();
        System.out.println("请输入歌名");
        Scanner input=new Scanner(System.in);
        String name=input.next();
        System.out.println("请输入作者");
        String author=input.next();
        musicDao.insert(name,author);
        List<Music> musics=musicDao.findMusic();
        System.out.println(musics);
        System.out.println("输入你要删除的音乐的id:");
        try {
            musicDao.update(3);
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KTV点歌系统包括曲库和点歌列表。 曲库功能包括: 1. 添加歌曲、 2. 删除歌曲、 3. 修歌曲、 4. 找歌曲; 点歌列表功能包括: 1. 点歌操作(从歌曲库中找歌曲添加到点歌列表) 、 2. 歌曲优先(点歌列表中歌曲可更歌曲排序)、 3. 删除已点歌曲。 点歌系统数据包括 1.歌曲语种分类信息列表(如中文歌曲、英文歌曲、日文、韩文等)、 2.歌曲信息列表(包括歌曲名、演唱者、曲风、和自动生成的歌曲编号) 3.点歌信息列表(包括歌曲名、演唱者、曲风,自动生成的在点歌列表中的顺序号)。 功能包括: 1.初始化歌曲分类信息顺序表,然后输入歌曲分类信息。 2.初始化歌曲信息链表,然后输入歌曲信息。 3.创建、维护曲库:添加歌曲时判断是否重复,如果不存在,则插入到歌曲信息链表中;可以修、删除歌曲。 4.显示歌曲信息:选择歌曲语种分类,显示分类下所有歌曲信息。 5.根据演唱者询指定演唱者的所有歌曲信息; 6.根据曲风询指定曲风的所有歌曲信息。 7.创建点歌列表。在某类语种歌曲下,按演唱者或曲风进行找,若找成功,可将某歌曲添加到点歌列表(链表)中。 8.优先指定歌曲。在点歌列表中选定优先歌曲,将该歌曲移至点歌列表中的指定位置。 8.删除点歌列表中歌曲。 评分标准: 1、完成以下功能,并理解代码,60分 (界面友好、系统健壮加1~10分不等) (1) 录入歌曲语种分类信息,包括:中文,英文,日文,韩文,小语种; (2) 录入、修歌曲信息,包括:歌曲编号,歌曲名,演唱者,曲风;删除歌曲; (3) 可以按歌曲语种分类信息显示歌曲信息。 (4) 可以根据演唱者询指定演唱者的所有歌曲信息;根据曲风询指定曲风的所有歌曲信息。 2、完成以下功能,并理解代码,70分 (界面友好、系统健壮加1~10分不等) (1) 录入歌曲语种分类信息,包括:中文,英文,日文,韩文,小语种; (2) 录入、修歌曲信息,包括:歌曲编号,歌曲名,演唱者,曲风;删除歌曲; (3) 可以按歌曲语种分类信息显示歌曲信息。 (4) 可以根据演唱者询指定演唱者的所有歌曲信息;根据曲风询指定曲风的所有歌曲信息。 (5) 创建点歌列表。在曲库中按演唱者或曲风进行搜索,若找成功将此歌曲添加到点歌链表中。 3、完成以下功能,并理解代码,80分 (界面友好、系统健壮加1~10分不等) (1) 录入歌曲语种分类信息,包括:中文,英文,日文,韩文,小语种; (2) 录入、修歌曲信息,包括:歌曲编号,歌曲名,演唱者,曲风;删除歌曲; (3) 可以按歌曲语种分类信息显示歌曲信息。 (4) 可以根据演唱者询指定演唱者的所有歌曲信息;根据曲风询指定曲风的所有歌曲信息。 (5) 创建点歌列表。在曲库中按演唱者或曲风进行搜索,若找成功将此歌曲添加到点歌链表中。 (6) 优先指定歌曲。在点歌列表中选定优先歌曲,将该歌曲移至点歌列表中的指定位置。 (7) 删除点歌列表中歌曲。 4、完成所有功能并能适当添加或完善功能,且理解代码,90分 (界面友好、系统健壮加1~10分不等)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值