音乐管理系统2.0

一.音乐管理系统升级版2.0

今天做的是模拟音乐管理系统的登入页面
新建一个数据表tb_user
在这里插入图片描述
新建一个“View”文件,还有一个“UserDao”文件,一个“User”文件
在这里插入图片描述
View 代码如下

public class View {
    public static void main(String[] args) throws SQLException, LoginException {
        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.zj(name, pw);
                break;

            } else if (user.getPassword().equals(password)) {
                System.out.println("----欢迎来到音乐管理系统----");
                musicSystem(user);
                flag = false;
            } else {
                //System.out.println("-----密码错误,请重新输入-----");
                throw new LoginException("登入失败");
            }

        }

    }

    public static void musicSystem(User user) throws SQLException {
            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);
                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.zj(ym, au);
                    break;
                case 3:
                    System.out.println("请输入要修改的id:");
                    int id1 = input.nextInt();
                    System.out.println("请输入新的音乐名:");
                    String newym = input.next();
                    System.out.println("请输入新的作者名:");
                    String newau = input.next();
                    musicDao.xg(id1, newym, newau);
                    break;
                case 4:
                    System.out.println("请输入要删除的id:");
                    int id = input.nextInt();
                    musicDao.delete(id);
                case 5:
                    System.exit(0);
            }
        }
}

User代码如下

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


    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 +
                '}';
    }
}

UserDao代码如下

public class UserDao {
    public User findUserByUsername(String username) {
        ResultSet resultSet = null;
        PreparedStatement statement = null;
        Connection connection = null;
        User user = null;
        try {
            connection = DBUtil.getConnection();
            String sql = "select * from tb_user where username=?";
            statement = connection.prepareStatement(sql);
            statement.setString(1, username);
            resultSet = statement.executeQuery();
            while (resultSet.next()) {
                user = new User();
                user.setUsername(resultSet.getString(2));
                user.setPassword(resultSet.getString(3));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.closeAll(resultSet, statement, connection);
        }
        return user;
    }

    public void zj(String username, String password) throws SQLException {
        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(null, statement, connection);
        }
    }
}

原 MusicDao 代码更改如下

public class MusicDao {
    public static void updateMusic(int id1, String newym, String newau) {
    }

    public List<Music> findMusics(){
        ResultSet resultSet = null;
        PreparedStatement statement = null;
        Connection connection = null;
        List<Music> musics=new ArrayList<>();
        try {
            connection = DBUtil.getConnection();
            String sql = "select * from music";
            statement = connection.prepareStatement(sql);
            resultSet = statement.executeQuery();
            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 {
            DBUtil.closeAll(resultSet, statement, connection);
        }
        return musics;
    }
    public void delete(int id) throws SQLException {
        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 zj(String name,String author) throws SQLException {
        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();
        DBUtil.closeAll(null,statement,connection);
    }
    public void xg(int id,String name,String author) throws SQLException{
        Connection connection = DBUtil.getConnection();
        String sql = "update music set name=?,author=? where id=?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(3,id);
        statement.setString(1,name);
        statement.setString(2,author);
        statement.executeUpdate();
        DBUtil.closeAll(null,statement,connection);
    }

}

程序运行结果如下
如果用户没有注册就登入,系统会显示用户未注册,请先注册 随后跳到注册界面,然后输入注册名和注册密码即完成注册
在这里插入图片描述注册完成后如果登入密码输入错误则会显示登入失败,然后退出音乐管理系统
在这里插入图片描述

再次运行输入用户名和注册名进入音乐管理系统
在这里插入图片描述输入 1 ,即音乐查询,能查询到数据库里所有音乐信息,运行结果如下
在这里插入图片描述查询结果出来就进入了 2.音乐添加,输入想添加的音乐名和歌手即可添加成功
在这里插入图片描述数据库中的数据也会随之更新
在这里插入图片描述接下来是重新运行进入音乐管理系统 输入数字3,即可修改输入id对应的音乐名及歌手
在这里插入图片描述数据库中刷新运行结果如下
在这里插入图片描述
输入数字4,输入想要删除行的id,这一行就会删除,数据运行结果如下
在这里插入图片描述数据库中刷新运行结果如下,如图,id为4的那一行已经被删除
在这里插入图片描述
输入数字5,即可退出音乐管理系统
在这里插入图片描述以上就是音乐管理系统的全部代码和运行结果

二.mvc模式

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

m model 实体类
v view 视图
c controller 控制

三.包结构

model 实体类
dao 持久层 对数据库进行操作 增删改查
service 业务层
controller 控制层

四.Util 工具包

Util是utiliy的缩写,是一个多功能、基于工具的包。
Java的实用工具类库java.util包。在这个包中,Java提供了一些实用的方法和数据结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值