音乐管理系统跟进版(多加了权限内容)
学习JAVA第十天
代码如下:
package com.nbufe.service;
import com.nbufe.dao.MusicDao;
import com.nbufe.dao.UserDao;
import javax.swing.*;
import java.awt.*;
import java.sql.SQLException;
import java.util.Scanner;
public class MusicService {
public static void main(String[] args) throws SQLException {
do
{
System.out.println("**********欢迎使用Chestnut音乐管理系统**********");
System.out.println("************************************************");
System.out.print("请输入用户名:");
boolean login=false;
Scanner input=new Scanner(System.in);
String username=input.next();
if(UserDao.login2(username)==false)
{
System.out.println("*****************您尚未注册*********************");
}
else
{
String password;
System.out.println("************************************************");
for(int i=3;i>0;i--)
{
if(i<3)
{
System.out.println("******************密码错误**********************");
System.out.println("***************你还有"+i+"次机会哦!****************");
}
System.out.print("请输入密码:");
JPasswordField jPasswordField=new JPasswordField();
jPasswordField.setEchoChar('*');
password=input.next();
System.out.println("************************************************");
login= UserDao.login(username,password);
if(login)
{
break;
}
}
}
if(login)
{
Manage();
}
else {
logo();
}
} while(true);
}
public static void Manage() throws SQLException {
System.out.println("-----------------------------------------------------");
System.out.println("| ************************************************* |");
System.out.println("| **********欢迎使用Chestnut音乐管理系统*********** |");
System.out.println("| *****************1.音乐管理********************** |");
System.out.println("| *****************2.用户管理********************** |");
System.out.println("| *****************3.退出************************** |");
System.out.println("| ***********************************Chestnut****** |");
System.out.println("-----------------------------------------------------");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
switch (n)
{
case 1:MusicDao.MusicManage(); break;
case 2:UserDao.UserManage();break;
case 3:System.exit(0);
}
}
public static void logo() throws SQLException {
Scanner input=new Scanner(System.in);
System.out.println("******************登陆失败**********************");
System.out.println("******************请先注册**********************");
System.out.print("请输入注册名:");
String zcusername=input.next();
System.out.println("************************************************");
System.out.print("请输入密码:");
String zcpassword1=input.next();
String zcpassword2;
System.out.println("************************************************");
do {
System.out.print("请再次输入密码:");
zcpassword2=input.next();
if(zcpassword1.equals(zcpassword2))
{
break;
}
System.out.println("************************************************");
}while(true);
if(UserDao.logo(zcusername,zcpassword1))
{
System.out.println("******************添加成功**********************");
System.out.println("************************************************");
}
else
{
System.out.println("******************添加失败**********************");
System.out.println("************************************************");
}
System.out.println("********登陆请按.y********退出请按.n************");
String t=input.next();
if(t.equals("n"))
{
System.exit(0);
}
}
}
package com.nbufe.util;
import java.sql.*;
import java.util.Comparator;
public class DBUtil {
public static Connection getconnection() {
Connection connection=null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
connection= DriverManager.getConnection
("jdbc:mysql://127.0.0.1:3306/nbufe?useSSL=true&characterEncoding=utf-8&user=root&password=123");
System.out.println("************************************************");
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void Close(ResultSet resultSet,Connection connection,PreparedStatement preparedStatement)
{
if(resultSet!=null)
{
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection!=null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(preparedStatement!=null)
{
try {
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package com.nbufe.dao;
import com.nbufe.bean.Music;
import com.nbufe.bean.User;
import com.nbufe.service.MusicService;
import com.nbufe.util.DBUtil;
import javax.jws.soap.SOAPBinding;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class UserDao {
public static void UserManage() throws SQLException {
Scanner input=new Scanner(System.in);
System.out.println("--------------------用户管理----------------------");
System.out.println("--------------------------------------------------");
System.out.println("|************************************************|");
System.out.println("|******************1.查询用户********************|");
System.out.println("|******************2.添加用户********************|");
System.out.println("|******************3.修改用户********************|");
System.out.println("|******************4.删除用户********************|");
System.out.println("|******************5.返回上级********************|");
System.out.println("|***********************************Chestnut*****|");
System.out.println("--------------------------------------------------");
int t=input.nextInt();
switch (t) {
case 1:
UserDao.select();
case 2:
UserDao.add();
case 3:
UserDao.Update();
case 4:
UserDao.Delect();
case 5:
MusicService.Manage();
}
}
public static void Delect() throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
String sql = "delete from musicuser where username=?";
preparedStatement = connection.prepareStatement(sql);
Scanner input=new Scanner(System.in);
System.out.println("请输入你要删除的用户名");
String username=input.next();
preparedStatement.setString(1, username);
resultSet=preparedStatement.executeUpdate();
if(resultSet!=0)
{
System.out.println("删除成功");
}
else
System.out.println("删除失败");
DBUtil.Close(null,connection,preparedStatement);
for (int i=0;i<10;i++)
{
System.out.println();
}
UserDao.UserManage();
}
public static void select() throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "select * from musicuser";
preparedStatement = connection.prepareStatement(sql);
resultSet=preparedStatement.executeQuery();
List<User> users=new ArrayList<>();
while(resultSet.next())
{
User user=new User();
user.setId(resultSet.getInt(1));
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
user.setType(resultSet.getInt(4));
users.add(user);
}
for (int i=0;i<10;i++)
{
System.out.println();
}
System.out.println(users);
DBUtil.Close(resultSet,connection,preparedStatement);
UserDao.UserManage();
}
public static void Update() throws SQLException {
Scanner input=new Scanner(System.in);
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
System.out.println("************请选择你需要修改的选项**************");
System.out.println("*****************1.修改权限*********************");
System.out.println("*****************2.修改密码*********************");
int t=input.nextInt();
if(t==1)
{
String sql = "update musicuser set type=? where username=?";
preparedStatement=connection.prepareStatement(sql);
System.out.println("***************请登陆管理员权限*****************");
System.out.println("**************请输入管理员用户名****************");
String username=input.next();
System.out.println("**************请输入管理员密码******************");
String password=input.next();
if(login3(username,password))
{
System.out.println("**********请输入你需要修改的用户名**************");
username=input.next();
System.out.println("***请选择你需要修改的权限 1.管理员 0.普通用户***");
int b=0;
b=input.nextInt();
while(b>1||b<0)
{
System.out.println("***********您的输入有误,请重新输入*************");
b=input.nextInt();
}
preparedStatement.setInt(1, b);
preparedStatement.setString(2, username);
resultSet=preparedStatement.executeUpdate();
if(resultSet!=0)
{
System.out.println("******************修改成功**********************");
}
else
System.out.println("******************修改失败**********************");
}
else
{
System.out.println("*******权限不足,修改失败,自动返回上一层*******");
UserDao.UserManage();
}
}
else if(t==2)
{
String sql = "update musicuser set password=? where username=?";
preparedStatement = connection.prepareStatement(sql);
System.out.println("**************请输入需要修改的用户名************");
String username=input.next();
System.out.println("******************请输入原密码******************");
String password1=input.next();
if(UserDao.login(username,password1))
{
System.out.println("*****************请输入新密码*******************");
String password = input.next();
preparedStatement.setString(1, password);
preparedStatement.setString(2, username);
resultSet = preparedStatement.executeUpdate();
}
else
{
for (int i=0;i<10;i++)
{
System.out.println();
}
System.out.println("!!!!!!!!!!!密码错误,修改失败!!!!!!!!!!!!!!!!");
UserDao.UserManage();
}
for (int i=0;i<10;i++)
{
System.out.println();
}
if(resultSet!=0)
{
System.out.println("******************修改成功**********************");
}
else
System.out.println("******************修改失败**********************");
}
else
{
UserManage();
}
DBUtil.Close(null,connection,preparedStatement);
UserDao.UserManage();
}
public static void add() throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
String sql = "insert into musicuser(username,password,type ) value (?,?,?)";
preparedStatement = connection.prepareStatement(sql);
Scanner input=new Scanner(System.in);
System.out.println("请输入你要添加用户名");
String username=input.next();
System.out.println("请输入你添加的密码");
String password=input.next();
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
preparedStatement.setInt(3,0);
resultSet=preparedStatement.executeUpdate();
for (int i=0;i<10;i++)
{
System.out.println();
}
if(resultSet!=0)
{
System.out.println("******************添加成功**********************");
}
else
System.out.println("******************添加失败**********************");
DBUtil.Close(null,connection,preparedStatement);
UserDao.UserManage();
}
public static boolean logo(String username,String password) throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
String sql = "insert into musicuser(username,password,tepy) value (?,?,0)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
resultSet=preparedStatement.executeUpdate();
if(resultSet==1)
{
return true;
}else
{
return false;
}
}
public static boolean login(String username,String password) throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "select * from musicuser where username=? and password=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
resultSet = preparedStatement.executeQuery();
if (resultSet.next())
{
return true;
}
else
{
return false;
}
}
public static boolean login2(String username) throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "select * from musicuser where username=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
resultSet = preparedStatement.executeQuery();
if (resultSet.next())
{
return true;
}
else
{
return false;
}
}
public static boolean login3(String username,String password) throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
int type = 0;
String sql = "select * from musicuser where username=? and password=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
resultSet = preparedStatement.executeQuery();
if (resultSet.next())
{
type=resultSet.getInt(4);
}
if(type==1)
{
return true;
}
else
return false;
}
}
package com.nbufe.dao;
import com.nbufe.bean.Music;
import com.nbufe.service.MusicService;
import com.nbufe.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;
import java.util.Scanner;
public class MusicDao {
public static void MusicManage() throws SQLException {
Scanner input=new Scanner(System.in);
System.out.println("--------------------音乐管理----------------------");
System.out.println("--------------------------------------------------");
System.out.println("|************************************************|");
System.out.println("|******************1.查询音乐********************|");
System.out.println("|******************2.添加音乐********************|");
System.out.println("|******************3.修改音乐********************|");
System.out.println("|******************4.删除音乐********************|");
System.out.println("|******************5.返回上层********************|");
System.out.println("|***********************************Chestnut*****|");
System.out.println("--------------------------------------------------");
int t=input.nextInt();
switch (t)
{
case 1:MusicDao.Select();
case 2:MusicDao.Add();
case 3:MusicDao.Update();
case 4:MusicDao.Delect();
case 5:MusicService.Manage();
}
}
public static void Add() throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
String sql = "insert into music(musicname,musical) value (?,?)";
preparedStatement = connection.prepareStatement(sql);
Scanner input=new Scanner(System.in);
System.out.println("请输入你要添加歌曲名");
String musicname=input.next();
System.out.println("请输入你添加歌的作者");
String musical=input.next();
preparedStatement.setString(1,musicname);
preparedStatement.setString(2,musical);
resultSet=preparedStatement.executeUpdate();
for (int i=0;i<10;i++)
{
System.out.println();
}
if(resultSet!=0)
{
System.out.println("******************添加成功**********************");
}
else
System.out.println("******************添加失败**********************");
DBUtil.Close(null,connection,preparedStatement);
MusicDao.MusicManage();
}
public static void Delect() throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
String sql = "delete from music where musicname=?";
preparedStatement = connection.prepareStatement(sql);
Scanner input=new Scanner(System.in);
System.out.println("请输入你要删除的歌曲名");
String musicname=input.next();
preparedStatement.setString(1,musicname);
resultSet=preparedStatement.executeUpdate();
for (int i=0;i<10;i++)
{
System.out.println();
}
if(resultSet!=0)
{
System.out.println("******************删除成功**********************");
}
else
System.out.println("******************删除失败**********************");
DBUtil.Close(null,connection,preparedStatement);
MusicDao.MusicManage();
}
public static void Select() throws SQLException {
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
String sql = "select * from music";
preparedStatement = connection.prepareStatement(sql);
resultSet=preparedStatement.executeQuery();
List<Music> musics=new ArrayList<>();
while(resultSet.next())
{
Music music=new Music();
music.setId(resultSet.getInt(1));
music.setMusicname(resultSet.getString(2));
music.setMusical(resultSet.getString(3));
musics.add(music);
}
for (int i=0;i<10;i++)
{
System.out.println();
}
System.out.println(musics);
DBUtil.Close(resultSet,connection,preparedStatement);
MusicDao.MusicManage();
}
public static void Update() throws SQLException {
Scanner input=new Scanner(System.in);
Connection connection = DBUtil.getconnection();
PreparedStatement preparedStatement = null;
int resultSet = 0;
System.out.println("*************请选择你需要修改的内容*************");
System.out.println("********************1.歌名**********************");
System.out.println("********************2.作者**********************");
int x=input.nextInt();
if(x==2)
{
String sql = "update music set musical=? where musicname=?";
preparedStatement = connection.prepareStatement(sql);
System.out.println("**************请输入需要修改的作者名************");
String musical=input.next();
System.out.println("***********请输入需要修改作者的原歌名***********");
String musicname=input.next();
preparedStatement.setString(2,musicname);
preparedStatement.setString(1,musical);
resultSet=preparedStatement.executeUpdate();
}
else if(x==1)
{
String sql = "update music set musicname=? where musical=?";
preparedStatement = connection.prepareStatement(sql);
System.out.println("**************请输入需要修改的歌名**************");
String musicname=input.next();
System.out.println("***********请输入需要修改歌的原作者名***********");
String musical=input.next();
preparedStatement.setString(1,musicname);
preparedStatement.setString(2,musical);
resultSet=preparedStatement.executeUpdate();
}
for (int i=0;i<10;i++)
{
System.out.println();
}
if(resultSet==1)
{
System.out.println("******************修改成功**********************");
}
else
System.out.println("******************修改失败**********************");
DBUtil.Close(null,connection,preparedStatement);
MusicDao.MusicManage();
}
}
package com.nbufe.bean;
public class 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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", 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;
}
}
package com.nbufe.bean;
public class Music {
private int id;
private String musicname;
private String musical;
@Override
public String toString() {
return "Music{" +
"id=" + id +
", musicname='" + musicname + '\'' +
", musical='" + musical + '\'' +
'}';
}
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 getMusical() {
return musical;
}
public void setMusical(String musical) {
this.musical = musical;
}
}