java音乐管理系统3

bean包

Music.java

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

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getMusicname() {
        return musicname;
    }

    public void setMusicname(String musicname) {
        this.musicname = musicname;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

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

PageBean.java(实现分页)

import java.util.List;

public class PageBean<T> {
    private int currentPage;
    private int pageSize;
    private List<T> musics;

    private int totalCount;
    private int totalPage;

    public int getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public List<T> getMusics() {
        return musics;
    }

    public void setMusics(List<T> musics) {
        this.musics = musics;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

    public int getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    @Override
    public String toString() {
        return "PageBean{" +
                "currentPage=" + currentPage +
                ", pageSize=" + pageSize +
                ", musics=" + musics +
                ", totalCount=" + totalCount +
                ", totalPage=" + totalPage +
                '}';
    }
}

User.java

public class User {
    private int id;
    private String username;
    private String password;
    private int 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;
    }

    public int getType() {
        return type;
    }

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

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

dao包

MusicDao.java

import com.ningcai.bean.Music;
import com.ningcai.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 int getCount() throws SQLException{
        Connection connection = DBUtil.getConnection();
        PreparedStatement statement = connection.prepareStatement("SELECT COUNT(*) FROM music");
        ResultSet resultSet = statement.executeQuery();
        int count=0;
        while (resultSet.next()){
            count=resultSet.getInt(1);
        }
        DBUtil.closeAll(resultSet,statement,connection);
        return count;
    }


    public List<Music> findAll(int start) throws SQLException {
        List<Music> musics=new ArrayList<>();
        Connection connection =  DBUtil.getConnection();
        PreparedStatement statement =connection.prepareStatement("select * from music order by id limit ?,?");
        statement.setInt(1,start);
        statement.setInt(2,5);
        ResultSet resultSet = statement.executeQuery();
        while (resultSet.next()){
            int id=resultSet.getInt(1);
            String musicname = resultSet.getString(2);
            String author = resultSet.getString(3);
            Music music=new Music();
            music.setId(id);
            music.setMusicname(musicname);
            music.setAuthor(author);
            musics.add(music);
        }
        return musics;
    }

        public void delete(int id) throws SQLException{
            PreparedStatement statement = null;
            Connection connection = null;
            connection = DBUtil.getConnection();
            int i=0;
            try {
                statement = connection.prepareStatement("delete from music where id=?");
                statement.setInt(1, id);
                i = statement.executeUpdate();
                if (i != 0) {
                    System.out.println("删除成功");

                } else {
                    System.out.println("删除失败");
                }
            }catch(SQLException e){
                    e.printStackTrace();

            }
    }

    public void add(Music music) throws SQLException {
        Connection connection = DBUtil.getConnection();
        PreparedStatement statement =
                connection.prepareStatement("insert into music (musicname,author) values (?,?)");
        statement.setString(1,music.getMusicname());
        statement.setString(2,music.getAuthor());
        statement.executeUpdate();
    }

    public void update() throws SQLException {

    }
}

UserDao.java

import com.ningcai.bean.User;
import com.ningcai.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.Collection;
import java.util.List;


public class UserDao {

    public User login(String username,String password) throws SQLException {
        Connection connection =  DBUtil.getConnection();
        String sql="select * from tb_user where username=? and password=?";
        PreparedStatement statement =connection.prepareStatement(sql);
        statement.setString(1,username);
        statement.setString(2,password);
        ResultSet resultSet = statement.executeQuery();
        User user = new User();
        if(resultSet.next()){
            user.setId(resultSet.getInt(1));
            user.setUsername(username);
            user.setPassword(password);
            user.setType(resultSet.getInt(4));
        }
        return user;
    }

    public boolean zhuce(String username,String password,int type) throws SQLException {
        Connection connection = DBUtil.getConnection();
        String sql="insert into tb_user(username,password,type) values(?,?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,username);
        statement.setString(2,password);
        statement.setInt(3,type);
        int i=statement.executeUpdate();
        if(i!=0){
            return true;
        }else{
            return false;
        }
    }

    public List<User> findAll() throws SQLException {
        List<User> users=new ArrayList<>();
        Connection connection =  DBUtil.getConnection();
        PreparedStatement statement =connection.prepareStatement("select * from tb_user");
        ResultSet resultSet = statement.executeQuery();
        while (resultSet.next()){
            int id=resultSet.getInt(1);
            String username = resultSet.getString(2);
            String password = resultSet.getString(3);
            int type = resultSet.getInt(4);
            User user=new User();
            user.setId(id);
            user.setUsername(username);
            user.setPassword(password);
            user.setType(type);
            users.add(user);
        }
        return users;
    }

    public void update(int id,String password) throws SQLException {
        Connection connection = DBUtil.getConnection();
        PreparedStatement statement = connection.prepareStatement("update tb_user set password=? where id=?");
        statement.setString(1,password);
        statement.setInt(2,id);
        statement.executeUpdate();
    }
}

service包

MusicService.java

import com.ningcai.bean.Music;
import com.ningcai.bean.PageBean;
import com.ningcai.bean.User;
import com.ningcai.dao.MusicDao;
import com.ningcai.dao.UserDao;

import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;

public class MusicService {


    public static void main(String[] args) throws SQLException {
        UserDao userDao = new UserDao();
        MusicService musicService = new MusicService();
        boolean flag = true;
        while (flag) {
            System.out.println("------------请输入用户名:------------");
            Scanner input = new Scanner(System.in);
            String username = input.next();
            System.out.println("------------请输入密码:------------");
            String password = input.next();

            User user= userDao.login(username, password);
            if (user!=null) {
                musicService.getMenu(user);
            } else {
                musicService.zhuce();
            }
        }

    }

    public void getMenu(User user) throws SQLException {
        MusicDao musicDao = new MusicDao();
        UserDao userDao=new UserDao();
        Scanner input = new Scanner(System.in);
        System.out.println("------------登入成功------------");
        System.out.println("-------欢迎来到音乐管理系统---------");
        System.out.println("\t1.音乐管理\t2.用户管理\t3.退出系统");
        int j = input.nextInt();
        PageBean<Music> pageBean=new PageBean<>();
        if (j == 1) {
            System.out.println("-------欢迎进入音乐管理系统-------");
            System.out.println("\t1.查询音乐\t2.添加音乐\t3.修改音乐\t4.删除音乐\t5.返回上一层");
            int a = input.nextInt();
            switch (a) {
                case 1:
                    int count = musicDao.getCount();
                    pageBean.setTotalCount(count);
                    double ceil = Math.ceil(count / 5.0);
                    int totalPage= (int) ceil;
                    pageBean.setTotalPage(totalPage);
                    System.out.println("请问你要查询第几页:我们一共有"+totalPage+"页");
                    int i=input.nextInt();
                    List<Music> music1 = getMusic(i, totalPage, musicDao);
                    System.out.println("下一步还要做什么:\t1.上一页 \t2.下一页 \t3.退出");
                    int i1 = input.nextInt();
                    switch (i1){
                        case 1:
                            if(i==1){
                                getMusic(1, totalPage, musicDao);
                            }else{
                                getMusic(i-1, totalPage, musicDao);
                            }

                            break;
                        case 2:
                            if(i==totalPage){
                                getMusic(totalPage,totalPage,musicDao);
                            }else {
                                getMusic(i+1,totalPage,musicDao);
                            }

                            break;
                        case 3:
                            System.exit(0);
                            break;
                    }


                    break;
                case 2:
                    if(user.getType()!=0){
                        System.out.println("你没有权限执行该操作!!!");
                        System.out.println("返回上一级");
                        getMenu(user);
                        break;
                    }
                    System.out.println("请输入要添加的音乐名称:");
                    String n = input.next();
                    System.out.println("请输入作者:");
                    String au = input.next();
                    Music music = new Music();
                    music.setMusicname(n);
                    music.setAuthor(au);
                    musicDao.add(music);
                    break;

                case 3:
                    System.out.println("请输入要修改音乐的id:");

                case 4:
                    System.out.println("请输入要删除歌曲的id:");
                    int id = input.nextInt();
                    musicDao.delete(id);
                    break;
                case 5:
                    getMenu(user);
                    break;
            }
        }else if(j==2){
            System.out.println("------------欢迎进入用户管理模块------------");
            System.out.println("\t1.查询用户\t2.添加用户\t3.修改用户\t4.删除用户\t5.返回上一层");
            int b = input.nextInt();
            switch (b) {
                case 1:
                    List<User> users = userDao.findAll();
                    System.out.println(users);
                    System.out.println("输入1表示退出,输入0表示返回上一层");
                    int n=input.nextInt();
                    if(n==1){
                        System.exit(0);
                    }else{
                        getMenu(user);
                }
                    break;
                case 2:
                    System.out.println("请输入注册用户名:");
                    String n1 = input.next();
                    System.out.println("请输入注册密码:");
                    String au = input.next();
                    System.out.println("请输入注册用户权限:");
                    int ty = input.nextInt();
                    User user1 = new User();
                    user1.setUsername(n1);
                    user1.setPassword(au);
                    user1.setType(ty);
                    userDao.zhuce(user1.getUsername(),user1.getPassword(),user1.getType());
                    break;
                case 3:
                    System.out.println("请输入要修改的id");
                    int id=input.nextInt();
                    System.out.println("请输入要修改后的密码:");
                    String password=input.next();
                    userDao.update(id,password);
                    break;

                case 4:

                case 5:
            }

        }
    }

    private List<Music>  getMusic(int currentPage, int totalPage, MusicDao musicDao) throws SQLException {
        List<Music> musics=null;
        if(currentPage>totalPage){
            System.out.println("傻子,输错了");
        }else{
            musics = musicDao.findAll((currentPage-1)*5);
            System.out.println(musics);
        }
        return musics;
    }

    public void zhuce() throws SQLException{
        UserDao userDao = new UserDao();
        Scanner input = new Scanner(System.in);
        System.out.println("------------登入失败------------");
        System.out.println("------------请先注册------------");
        System.out.println("请输入注册名:");
        String zcm = input.next();
        System.out.println("请输入注册密码:");
        String zcmm1 = input.next();
        System.out.println("请确认密码:");
        String zcmm2 = input.next();
        System.out.println("请输入角色:");
        int js = input.nextInt();
        if (zcmm1.equals(zcmm2) && (js==0 ||js==1)) {
            userDao.zhuce(zcm,zcmm1,js);
            System.out.println("是否登入还是退出Y/N");
            String i = input.next();
            if (i.equals("N")) {
                System.exit(0);
            } else if (!i.equals("Y")) {
                System.out.println("撒子,输错了!!!!!");
                System.exit(0);
            }else {
                User user2=new User();
                user2.setUsername(zcm);
                user2.setPassword(zcmm2);
                user2.setType(js);
                getMenu(user2);
            }
        } else {
            System.out.println("密码有误,请重新注册");
        }
    }


}

util包

DBUtil.java

import java.sql.*;

public class DBUtil {
    public static Connection getConnection(){
        Connection connection=null;
        //1.加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //2.创建连接
            connection= DriverManager.getConnection
                    ("jdbc:mysql://127.0.0.1:3306/nbcj?useSSL=true&characterEncoding=utf-8&user=root&password=123");
            System.out.println("创建连接成功");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return connection;
    }

    public static void closeAll(ResultSet rs, PreparedStatement preparedStatement, Connection connection) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (preparedStatement != null) {

            try {
                preparedStatement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            if(connection!=null){
                try{
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值