09-09JDBC+MVC项目开发模式

本文档展示了使用JDBC和MVC模式进行用户管理的基本操作,包括用户注册、登录、删除、查询和更新。代码中定义了User实体类,实现了各个功能的模型类,以及对应的控制层和视图层测试。通过UUID生成唯一ID,利用JDBC执行SQL完成数据操作。
摘要由CSDN通过智能技术生成

JDBC+MVC项目开发模式

请添加图片描述
请添加图片描述
请添加图片描述
1、创建用户,属性私有化。

package entity;
/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 上午11:26:19
*/
public class User {
	private String id;
	private String username;
	private String pwd;
	private String sex;
	private int age;
	private String phone;
	private String email;
	private String idcard;
	private String addr;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getIdcard() {
		return idcard;
	}
	public void setIdcard(String idcard) {
		this.idcard = idcard;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	public User(String id, String username, String pwd, String sex, int age, String phone, String email, String idcard,
			String addr) {
		super();
		this.id = id;
		this.username = username;
		this.pwd = pwd;
		this.sex = sex;
		this.age = age;
		this.phone = phone;
		this.email = email;
		this.idcard = idcard;
		this.addr = addr;
	}
	public User() {
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", pwd=" + pwd + ", sex=" + sex + ", age=" + age
				+ ", phone=" + phone + ", email=" + email + ", idcard=" + idcard + ", addr=" + addr + "]";
	}
	
}

2、通过控制器调用功能方法

package controller;

import entity.User;
import model.DeleteModel;
import model.LoginModel;
import model.RegeditModel;
import model.SelectModel;
import model.UpdateModel;

/**
*@author ShanHai:控制层
*@version 创建时间:2021年9月9日 上午11:56:16
*/
public class UserController {
	
	/**
	 * 找到用户注册的业务模型,并执行业务方法
	 * @param user
	 * @return
	 */
	public boolean regedit(User user){
		RegeditModel model = new RegeditModel();
		return model.UserRegedit(user);
	}
	
	public boolean login(String name,String pwd){
		LoginModel model = new LoginModel();
		return model.userLogin(name, pwd);
	}
	
	public boolean delete(int age){
		DeleteModel model =new DeleteModel();
		return model.UserDelect(age);
	}
	
	public boolean select(String name){
		SelectModel model =new SelectModel();
		return model.UserSelect(name);
	}
	
	public boolean update(int uage){
		UpdateModel model =new UpdateModel();
		return model.UserUpdate(uage);
	}
}

3、创建操作功能方法

package model;

import java.util.UUID;

import entity.User;
import util.JDBCUtil;

/**
 * 
 * @author ShanHai:用户注册模型层
 * @version 创建时间:2021年9月9日 上午11:31:02
 */
public class RegeditModel {

	/**
	 * 注册用户的方法
	 * 
	 * @param user
	 * @return
	 */
	public boolean UserRegedit(User user) {
		boolean isOk = false;
		// 生成一个32位的随机字符串用于id主键
		String id = (UUID.randomUUID() + "").replace("-", "");

		String sql = "insert into t_user values('" + id + "','" + user.getUsername() + "','" + user.getPwd() + "','"
				+ user.getSex() + "'," + user.getAge() + ",'" + user.getPhone() + "','" + user.getEmail() + "','"
				+ user.getIdcard() + "','" + user.getAddr() + "')";

		int i = JDBCUtil.executeSQL(sql);
		if (i > 0) {
			isOk = true;
		}
		return isOk;

	}
}

package model;

import java.sql.ResultSet;
import java.sql.SQLException;

import util.JDBCUtil;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午1:12:36
*/
public class LoginModel {
	
	/**
	 * 用户登录的方法
	 * @param uname
	 * @param pwd
	 * @return
	 */
	public boolean userLogin(String uname,String pwd){
		boolean isOk = false;
		String sql ="select * from t_user where username = '"+uname+"' and pwd = '"+pwd+"'";
		ResultSet rs = JDBCUtil.search(sql);
		try {
			isOk = rs.next();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return isOk;
	}
}

package model;

import util.JDBCUtil;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午5:27:58
*/
public class UpdateModel {
	
	public Boolean UserUpdate(int uage){
		boolean isOk = false;
		
		String sql ="update t_user set pwd = '123' where age ='"+uage+"'";
		int i = JDBCUtil.executeSQL(sql);
		if(i>0){
			isOk=true;
		}
		return isOk;
	}
}

package model;

import util.JDBCUtil;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午1:31:11
*/
public class DeleteModel {
	/**
	 * 删除用户的方法
	 * @param age
	 * @return
	 */
	public boolean UserDelect(int age){
		boolean isOk = false;
		
		String sql = "delete from t_user where age ='"+age+"'";
		int i = JDBCUtil.executeSQL(sql);
		if(i>0){
			isOk=true;
		}
		return isOk;
		
	}
}
package model;

import java.sql.ResultSet;
import java.sql.SQLException;

import util.JDBCUtil;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午2:14:59
*/
public class SelectModel {
	
	/**
	 * 查询用户的方法
	 * @return
	 */
	public boolean UserSelect(String uname){
		boolean isOk = false;
		String sql = "select * from t_user where username= '"+uname+"'";
		ResultSet i = JDBCUtil.search(sql);
		try {
			isOk = i.next();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return isOk;
	}
}

4、通过测试类测试方法

package view;

import controller.UserController;
import entity.User;

/**
 * @author ShanHai:视图层
 * @version 创建时间:2021年9月9日 下午12:00:03
 */
public class RegeditView {

	public static void main(String[] args) {
		UserController controller = new UserController();
		User u = new User(null, "admin", "123456", "男", 20, "12322312", "232456123@qq.com", "6105254587212",
				"吉林省长春市");
		if (controller.regedit(u)) {
			System.out.println("注册用户成功");
		} else {
			System.out.println("注册用户失败");
		}
	}
}

package view;

import java.util.Scanner;

import controller.UserController;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午1:21:19
*/
public class LoginView {
	
	public static void main(String[] args) {
		UserController controller =new UserController();
		boolean flag = true;
		while(flag){
			System.out.println("用户登录");
			System.out.print("请输入用户名:");
			Scanner sc =new Scanner(System.in);
			String name = sc.next();
			System.out.print("请输入密码:");
			String pwd = sc.next();
			if(controller.login(name, pwd)){
				System.out.println("登陆成功!进入主页!");
				flag =false;
			}else{
				System.out.println("登陆失败,请重新登陆!");
			}
		}
	}
}

package view;

import controller.UserController;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午5:28:07
*/
public class UpdateView {
	
	public static void main(String[] args) {
		UserController controller = new UserController();
		if(controller.update(15)){
			System.out.println("修改成功");
		}else{
			System.out.println("修改失败");
		}
	}
}

package view;

import controller.UserController;
import model.DeleteModel;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午1:36:53
*/
public class DeleteView {
	
	public static void main(String[] args) {
		UserController controller =new UserController();
		if(controller.delete(20)){
			System.out.println("删除成功");
		}else{
			System.out.println("删除失败");
		}
		
	}
}

package view;

import java.util.Scanner;

import controller.UserController;

/**
*@author ShanHai:
*@version 创建时间:2021年9月9日 下午2:36:50
*/
public class SelectView {
	
	public static void main(String[] args) {
		UserController controller = new UserController();
		boolean flag = true;
		while(flag){
			System.out.print("请输入需要查询的用户名:");
			Scanner sc =new Scanner(System.in);
			String name = sc.next();
			if(controller.select(name)){
				System.out.println("找到了用户名为:"+name+"的用户");
				flag = false;
			}else{
				System.out.println("未找到该用户");
			}
		}
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShanHai山海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值