MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
一般写代码项目需要分包来写,一般氛围bean,dao,service和controller
在IDEA上实现简单的增删查改操作和,我开始对代码的放置进行规范化,大致氛围这几个包和文件
下面是各文件代码:
TbUser(实体类存放):
package bean;
public class TbUser {
private int id;
private String username;
private String password;
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 "TbUser{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
TbUserDao(实现基本的增删改查操作代码):
package dao;
import bean.TbUser;
import 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 TbUserDao {
static Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
static {
try{
connection = DBUtil.getConnection(DBUtil.qudong,DBUtil.url);
}catch (Exception e ){
e.printStackTrace();
}
}
//查找显示
public List<TbUser> findAll(){
List<TbUser> users = new ArrayList<>();
try {
//3.写sql
String sql = "select * from tb_user";
//4.得到statement对象
preparedStatement = connection.prepareStatement(sql);
//5.执行sql
resultSet = preparedStatement.executeQuery();
//6.处理结果集
while (resultSet.next()) {
TbUser user = new TbUser();
user.setId(resultSet.getInt(1));
user.setUsername(resultSet.getString(2));
user.setPassword(resultSet.getString(3));
users.add(user);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(resultSet,preparedStatement,connection);
}
return users;
}
//删除
public void delete(int id){
try {
String sql = "delete from tb_user where id=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1,id);
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(null,preparedStatement,connection);
}
}
//修改
public void change(int id){
try {
String sql="update tb_user set username='hhh' where username='hjj'";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(null,preparedStatement,connection);
}
}
//添加
public void Add(int id){
try {
String sql="insert into tb_user(username,password) "+"values('hjj1',1234)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.closeAll(null,preparedStatement,connection);
}
}
//登录
public boolean doLogin(String username,String password) throws SQLException {
String sql = "select * from tb_user where username=? and password=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,username);
preparedStatement.setString(2,password);
ResultSet resultSet = preparedStatement.executeQuery();
if(resultSet.next()) {
return true;
}else {
return false;
}
}
}
TbUserService(业务类):
package service;
import bean.TbUser;
import dao.TbUserDao;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
public class TbUserService {
public static void main(String[] args) throws SQLException{
Scanner input = new Scanner(System.in);
System.out.println("---------------欢迎登入音乐管理系统---------------");
System.out.println("请输入用户名:");
String username = input.next();
System.out.println("请输入密码:");
String password = input.next();
TbUserDao userDao = new TbUserDao();
boolean flag = userDao.doLogin(username,password);
if(flag){
System.out.println("---------------欢迎来到用户管理系统---------------");
System.out.println("1.音乐管理 2.用户管理 3.退出");
System.out.println();
}else{
System.out.println("---------------登陆失败,请先注册---------------");
System.out.println("请输入注册的用户名:");
}
}
}
DBUtil(把共同的代码存在,减少代码重复):
package util;
import java.sql.*;
public class DBUtil {
public final static String qudong="com.mysql.jdbc.Driver";
public final static String url="jdbc:mysql://127.0.0.1:3306/hjj?useSSL=true&characterEncoding=utf-8&user=root&password=123456";
public static Connection getConnection(String qudong ,String url) throws Exception{
//1.加载驱动
Class.forName(qudong);
//2.创建连接
Connection connection = DriverManager.getConnection(url);
System.out.println("创建连接成功");
return connection;
}
public static void closeAll(ResultSet resultSet, PreparedStatement preparedStatement,Connection connection){
if(resultSet!=null){
try{
resultSet.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();
}
}
}
}
实时更新,我也是刚开始学,希望对大家有帮助,大家一起努力!