MVC模式增删改查mysql 数据库

17 篇文章 0 订阅
1 篇文章 0 订阅
package com.zhidi.model;

public class Student {
	private int id;
	private String name;
	private String banji;
	private char sex;

	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 getBanji() {
		return banji;
	}

	public void setBanji(String banji) {
		this.banji = banji;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	@Override
	public String toString() {
		return "学生  id=" + id + ", name=" + name + ", banji=" + banji + ", sex=" + sex ;
	}

}

package com.zhidi.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtil {
	private static final String URL = "jdbc:mysql://127.0.0.1:3306/person";
	private static final String USER = "root";
	private static final String PASSWORD = "root";
	private static Connection conn = null;
	static {
		try {
			//加载驱动程序
			Class.forName("com.mysql.jdbc.Driver");
			//获得数据库连接
			conn = DriverManager.getConnection(URL, USER, PASSWORD);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	public static Connection getConn() {
		return conn;
	}
}
package com.zhidi.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.zhidi.db.DBUtil;
import com.zhidi.model.Student;

public class StuDao {

	private Connection conn = DBUtil.getConn();

	// 添加
	public void stuadd(Student stu) throws SQLException {
		String sql = "insert into student (name,class,sex) values (?,?,?)";
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, stu.getName());
		ps.setString(2, stu.getBanji());
		ps.setString(3, String.valueOf(stu.getSex()));
		boolean b = ps.execute();
		if (!b) {
			System.out.println(stu.getName() + "创建成功");
		} else {
			System.out.println(stu.getName() + "创建失败");
		}

	}

	// 删除
	public void deleteStu(int id) throws SQLException {
		String sql = "delete from Student where id =?";
		PreparedStatement ps = conn.prepareStatement(sql);

		ps.setInt(1, id);
		boolean b = ps.execute();
		if (!b) {
			System.out.println("删除成功");
		} else {
			System.out.println("删除失败");
		}
	}

	// 修改
	public void updateStu(Student stu) throws SQLException {
		String sql = "update student set name=?,class=?,sex=? where id=?";
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, stu.getName());
		ps.setString(2, stu.getBanji());
		ps.setString(3, String.valueOf(stu.getSex()));//char类型转为String类型
		ps.setInt(4, stu.getId());
		boolean b = ps.execute();
		if (!b) {
			System.out.println(stu.getName() + "修改成功");
		} else {
			System.out.println(stu.getName() + "修改失败");
		}
	}

	// 查询一个学生
	public Student selectStu(int id) throws SQLException {
		String sql = "select * from student where id=?";
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, id);
		ResultSet rs = ps.executeQuery();
		Student stu = null;
		while (rs.next()) {
			stu = new Student();
			stu.setBanji(rs.getString("class"));
			stu.setId(rs.getInt("id"));
			stu.setName(rs.getString("name"));
			String str = rs.getString("sex");
			char[] c = str.toCharArray();//String类型转为char类型
			for (char d : c) {
				stu.setSex(d);
			}

		}
		return stu;

	}

	// 查询所有学生
	public List<Student> query() throws SQLException {
		Statement sta = conn.createStatement();// 创建声明
		ResultSet rs = sta.executeQuery("select * from student");
		List<Student> list = new ArrayList<Student>();
		Student stu = null;

		while (rs.next()) {
			stu = new Student();
			stu.setBanji(rs.getString("class"));
			stu.setId(rs.getInt("id"));
			stu.setName(rs.getString("name"));
			String str = rs.getString("sex");
			char[] c = str.toCharArray();
			for (char d : c) {
				stu.setSex(d);
			}
			list.add(stu);
		}

		return list;

	}

}
package com.zhidi.control;

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

import com.zhidi.dao.StuDao;
import com.zhidi.model.Student;

public class StuControl {

	public static void main(String[] args) throws SQLException {

		StuDao sd = new StuDao();
		// 添加
		Student stu = new Student();

		stu.setName("yanyan");
		stu.setSex('男');
		stu.setBanji("四班");
		sd.stuadd(stu);
		
		// 删除
		sd.deleteStu(5);
		
		// 修改
		Student stu1 = new Student();
		stu1.setId(6);
		stu1.setName("tomm");
		stu1.setBanji("五班");
		stu1.setSex('女');
		sd.updateStu(stu1);
		
		// 查询一个学生
		Student stu2 = sd.selectStu(6);
		System.out.println(stu2);

		// 查询所有学生
		List<Student> list = sd.query();
		for (Student s : list) {
			System.out.println(s.toString());

		}

	}

}



MVC(Model-View-Controller)是一种软件架构模式,常用于构建用户界面并处理用户交互的程序。在使用MVC访问MySQL数据库完成增删改查操作时,我们可以遵循以下步骤: 1. 模型(Model)层:模型负责与数据库进行交互,包括建立数据库连接、执行SQL语句以及处理数据库返回的结果。我们可以使用MySQL提供的官方驱动程序或者一些开源框架(如Hibernate、MyBatis)来简化数据库操作。 2. 视图(View)层:视图负责展示数据和接收用户的输入,对于数据库操作的结果,可以通过视图将其展示给用户。在MVC中,视图通常被定义为一些用户界面组件,如网页、移动应用程序的界面等。 3. 控制器(Controller)层:控制器负责接收来自视图层的用户输入,并将其转发给模型层进行相应的数据库操作。控制器还可以对模型层返回的数据进行处理,再将处理后的结果返回给视图层展示给用户。在MVC中,控制器可以看作是模型和视图之间的桥梁。 通过按照上述步骤使用MVC访问MySQL数据库进行增删改查操作,我们可以实现以下功能: - 增加数据:用户在视图层中输入数据,控制器将其传递给模型层对数据库进行增加操作。 - 删除数据:用户在视图层中选择要删除的数据,控制器将其传递给模型层对数据库进行删除操作。 - 修改数据:用户在视图层中选择要修改的数据并输入修改后的内容,控制器将其传递给模型层对数据库进行修改操作。 - 查询数据:用户在视图层中选择相应的查询条件,控制器将其传递给模型层对数据库进行查询操作,并将查询结果返回给视图层展示给用户。 通过使用MVC访问MySQL数据库完成增删改查操作,可以使代码结构更加清晰、可维护性更高,同时也能更好地分离数据层和用户界面层之间的耦合度,提供更好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值