简单音乐系统

新建如图所示

在这里插入图片描述
MusicDao的代码

package com.zhongruan.dao;

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

        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> findMusics(){
        ResultSet resultSet=null;
        PreparedStatement statement=null;
        Connection connection=null;
        List<Music>musics=new ArrayList<>();
        try {
            connection = DBUtil.getConnection();
            //3.写sql
            //查询
            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);

            }

        }catch (Exception e){
            e.printStackTrace();
        }finally{
            //7.关闭资源
            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 charu(String name,String author) {
        ResultSet resultSet = null;
        PreparedStatement statement = null;
        Connection connection = null;
        try{
            connection = DBUtil.getConnection();
            String sql = "insert into music(name,author)values(?,?)";
            statement = connection.prepareStatement(sql);
            statement.setString(1, name);
            statement.setString(2, author);
            statement.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            DBUtil.closeAll(resultSet, statement, connection);

        }

    }
    public static void updateMusic(int id,String newname,String author) throws SQLException,ClassNotFoundException{
        Connection connection = DBUtil.getConnection();
        String sql = "update music set name=?,author=?where id=?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,newname);
        statement.setString(2, author);
        statement.setInt(3, id);
        statement.executeUpdate();
        DBUtil.closeAll(null, statement, connection);



    }


}

UserDao的代码

package com.zhongruan.dao;

import com.zhongruan.model.Music;
import com.zhongruan.model.User;
import com.zhongruan.util.DBUtil;

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 UserDao {
    public User findUserByUsername(String username){
        ResultSet resultSet=null;
        PreparedStatement statement=null;
        Connection connection=null;
        User user=null;
        try {
            connection = DBUtil.getConnection();
            //3.写sql
            //查询
            String sql = "select * from tb_user where username=?";

            //4.得到statement对象,
            statement = connection.prepareStatement(sql);
            statement.setString(1,username);
            //5.执行sql
            resultSet = statement.executeQuery();
            //6.处理结果集
            while (resultSet.next()) {
                user=new User();
                user.setUsername(resultSet.getString(2));
                user.setPassword(resultSet.getString(3));
                user.setType(resultSet.getInt(4));

            }

        }catch (Exception e){
            e.printStackTrace();
        }finally{
            //7.关闭资源
            DBUtil.closeAll(resultSet,statement,connection);
        }
        return  user;
    }
    public void charu(String username,String password) {
        ResultSet resultSet = null;
        PreparedStatement statement = null;
        Connection connection = null;
        try{
            connection = DBUtil.getConnection();
            String sql = "insert into tb_user(username,password)values(?,?)";
            statement = connection.prepareStatement(sql);
            statement.setString(1, username);
            statement.setString(2, password);
            statement.executeUpdate();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            DBUtil.closeAll(resultSet, statement, connection);

        }

    }


}

LoginException的代码

package com.zhongruan.exception;

public class LoginException extends  Exception {
    public LoginException(String message){
        super(message);
    }
}

Music的代码

package com.zhongruan.model;

public class Music {
    private int id;
    private String name;
    private String author;

    public int getId(){
        return id;
    }
    public void  setId(int id){
        this.id=id;
    }
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
    public String getAuthor(){
        return author;
    }
    public  void setAuthor(String author){
        this.author=author;
    }

    @Override
    public String toString() {
        return "Music{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", author='" + author + '\'' +
                '}';
    }

}

User的代码

package com.zhongruan.model;

public class User {
    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }
    public User(){

    }



    private int id;
    private String username;
    private String password;
    private int type;


    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public int getId(){
        return id;
    }
    public void  setId(int id){
        this.id=id;
    }
    public String getUsername() { return username; }
    public void setUsername(String username) { this.username = username; }

    public String getPassword() { return password; }

    public void setPassword(String password) { this.password = password; }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", type=" + type +
                '}';
    }

}

DBUtil的代码

package com.zhongruan.util;

import java.sql.*;

public class DBUtil {
    public static Connection getConnection()throws ClassNotFoundException, SQLException{
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.创建连接
        Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/zjgm?characterEncoding=utf-8&user=root&password=123456");
        return connection;
    }
    public static void closeAll(ResultSet resultSet, Statement statement, Connection connection){
        if (resultSet!=null){
            try{
                resultSet.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
        if (statement!=null){
            try{
                statement.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
        if (connection!=null){
            try{
                connection.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
    }
}

Test的代码

package com.zhongruan;

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

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.charu(name,author);
        //Test test=new Test();
        List<Music>musics=musicDao.findMusics();
        System.out.println(musics);
        System.out.println("请输入你要删除的音乐ID");
        int id=input.nextInt();

        */
        System.out.println("请输入你要修改的音乐ID:");
        Scanner input=new Scanner(System.in);
        int id1=input.nextInt();
        String huche=input.nextLine();
        System.out.println("请输入新的的歌名:");
        String name1=input.nextLine();
        System.out.println("请输入新的作者:");
        String author1=input.nextLine();
        MusicDao.updateMusic(id1,name1,author1);
        List<Music>musics=musicDao.findMusics();
        System.out.println(musics);

/*

       try{
            musicDao.delete(1);
        }catch (SQLException e){
            e.printStackTrace();
        }catch (ClassNotFoundException e){
            e.printStackTrace();
        }*/
    }
}

View的代码

package com.zhongruan;

import com.zhongruan.dao.MusicDao;
import com.zhongruan.dao.UserDao;
import com.zhongruan.model.Music;
import com.zhongruan.model.User;

import javax.security.auth.login.LoginException;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;

public class View {
    public static void main(String[] args) throws LoginException, SQLException, ClassNotFoundException {
        boolean flag=true;
        while (flag){
        Scanner input=new Scanner(System.in);
        System.out.println("----您尚未登入,请先登入----");
        System.out.println("请输入用户名:------");
        String username=input.next();
        System.out.println("-----请输入密码:-----");
        String password=input.next();

        UserDao userDao=new UserDao();
        User user=userDao.findUserByUsername(username);
        if (user==null){
            System.out.println("----该用户尚未注册,请先注册----");
            System.out.println("请输入注册名");
            String name=input.next();
            System.out.println("请输入注册密码:");
            String pw=input.next();
            userDao.charu(name,pw);
        }else if (user.getPassword().equals(password)){
            System.out.println("----欢迎来到音乐管理系统----");
            musicystem(user);
            flag=false;
        }else {
           // System.out.println("----密码错误,请重新输入---------");

                 throw new LoginException("登入失败");

        }

    }
}

public static void musicystem(User user) throws SQLException, ClassNotFoundException {
    Scanner input=new Scanner(System.in);
    System.out.println("1.音乐查询2.音乐添加3.音乐修改4.音乐删除5.退出");
    int choice=input.nextInt();
    MusicDao musicDao=new MusicDao();
    switch (choice){
        case 1:
            List<Music>musics=musicDao.findMusics();
            System.out.println(musics);
            break;

        case 2:
            if (user.getType()!=0){
                System.out.println("权限不足,请联系管理员");
                break;
            }
            System.out.println("请输入要插入的音乐名");
            String ym=input.next();
            System.out.println("请输入要插入的作者名");
            String au=input.next();
            musicDao.charu(ym,au);
            break;
        case 3:
            System.out.println("请输入要删除的id");
            int id=input.nextInt();
            musicDao.delete(id);
            break;
        case 4:
            System.out.println("请输入要修改的id");
            int id1=input.nextInt();
            System.out.println("请输入新的音乐名");
            String newym=input.next();
            System.out.println("请输入新的作者名");
            String newau=input.next();
            MusicDao.updateMusic(id1,newym,newau);
            break;
        case 5:
            System.exit(0);
    }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值