新建如图所示
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);
}
}
}