MVC的简单应用

目录

分层

controller层 

Show.java代码如下:

dao层

 EmpinfoDaoImpl.java代码如下:

EmpinfoDao代码如下:

model层

service层

util层

DBHelper.java代码如下:

info.properties

运行结果


分层

 

controller层 

Show.java代码如下:

package xyz.jrkang.controller;

import java.util.ArrayList;
import java.util.Scanner;
import xyz.jrkang.dao.EmpinfoDao;
import xyz.jrkang.dao.impl.EmpinfoDaoImpl;
import xyz.jrkang.model.Empinfo;


public class Show {

	public static void main(String[] args) {
		System.out.println("----------请选择----------");
		System.out.println("----------1:显示所有客户信息----------");
		System.out.println("----------2:新增客户----------");
		System.out.println("----------3:修改某个客户信息----------");
		Scanner scan = new Scanner(System.in);
		int select = scan.nextInt();

		EmpinfoDao empinfoDao = new EmpinfoDaoImpl();

		if (select == 1) {
			System.out.println("你选择了查询所有客户信息");

			ArrayList<Empinfo> empinfoList = empinfoDao.select();
			for (Empinfo empinfo : empinfoList) {
				System.out.println(empinfo.toString());
			}

		} else if (select == 2) {
			System.out.println("你选择了新增客户");
			// 解决一个问题 --> 输入以下这些数据,从控制台输入
			Scanner addScan = new Scanner(System.in);
			System.out.print("姓名:");
			String name = addScan.nextLine();

			System.out.print("性别:");
			String sex = addScan.nextLine();

			System.out.print("年龄:");
			int age = addScan.nextInt();

			System.out.print("职务:");
			String zhiwu = addScan.nextLine();
			Empinfo empinfo = new Empinfo(name, sex, age, zhiwu);
			int count = empinfoDao.insert(empinfo);
			if (count > 0)
				System.out.println("新增客户成功");
			else
				System.out.println("新增客户失败");
			addScan.close();

		} else if (select == 3) {
			System.out.println("你选择了修改客户");

			Scanner updateScan = new Scanner(System.in);
			System.out.print("姓名:");
			String name = updateScan.nextLine();

			System.out.print("性别:");
			String sex = updateScan.nextLine();

			System.out.print("职务:");
			String zhiwu = updateScan.nextLine();

			System.out.print("年龄:");
			int age = updateScan.nextInt();

			System.out.print("客户ID:");
			int id = updateScan.nextInt();

			Empinfo empinfo = new Empinfo(id, name, sex, age, zhiwu);
			int count = empinfoDao.update(empinfo);
			if (count > 0)
				System.out.println("修改客户成功");
			else
				System.out.println("修改客户失败");

			updateScan.close();

		}
		scan.close();
	}
}

dao层

 EmpinfoDaoImpl.java代码如下:

package xyz.jrkang.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import xyz.jrkang.dao.EmpinfoDao;
import xyz.jrkang.model.Empinfo;
import xyz.jrkang.util.DBHelper;



public class EmpinfoDaoImpl implements EmpinfoDao {

	@Override
	public int insert(Empinfo empinfo) {
		// TODO Auto-generated method stub
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			conn = DBHelper.getConn();

			String sql = "INSERT INTO student VALUES (?,?,?,?)";
			ps = conn.prepareStatement(sql);

			ps.setString(1, empinfo.getEname());
			ps.setString(2, empinfo.getSex());
			ps.setInt(3, empinfo.getAge());
			ps.setString(4, empinfo.getZhiwu());

			int count = ps.executeUpdate();
			return count;
		} catch (SQLException e) {
			System.out.println("插入有问题");
			return 0;
		} finally {
			DBHelper.close(conn, ps, null);
		}
	}

	@Override
	public int update(Empinfo empinfo) {
		// TODO Auto-generated method stub
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			conn = DBHelper.getConn();

			String sql = "update student set ename = ? ,sex = ? ,age = ? ,zhiwu = ?, where empid = ?";
			ps = conn.prepareStatement(sql);

			ps.setString(1, empinfo.getEname());
			ps.setString(2, empinfo.getSex());
			ps.setInt(3, empinfo.getAge());
			ps.setString(4, empinfo.getZhiwu());
			ps.setInt(5, empinfo.getEmpid());

			int count = ps.executeUpdate();
			return count;

		} catch (SQLException e) {
			System.out.println("更新有问题");
			return 0;
		} finally {
			DBHelper.close(conn, ps, null);
		}
	}

	@Override
	public ArrayList<Empinfo> select() {
		// TODO Auto-generated method stub
		Connection conn = null;
		PreparedStatement ps = null;

		ArrayList<Empinfo> empinfoList = new ArrayList<Empinfo>();

		try {
			conn = DBHelper.getConn();

			String sql = "select * from empinfo";
			ps = conn.prepareStatement(sql);

			ResultSet rs = ps.executeQuery();
			while (rs.next()) {
				Empinfo empinfo = new Empinfo();
				empinfo.setEmpid(rs.getInt("empid"));
				empinfo.setEname(rs.getString("ename"));
				empinfo.setSex(rs.getString("sex"));
				empinfo.setAge(rs.getInt("age"));
				empinfo.setZhiwu(rs.getString("zhiwu"));
				empinfoList.add(empinfo);
			}
		} catch (SQLException e) {
			System.out.println("查询有问题");
		} finally {
			DBHelper.close(conn, ps, null);
		}
		return empinfoList;

	}

}

EmpinfoDao代码如下:

package xyz.jrkang.dao;

import java.util.ArrayList;

import xyz.jrkang.model.Empinfo;



public interface EmpinfoDao {// 接口是什么? 就是一组规范 只定义了方法名称 返回值类型 参数并没有方法的具体实现

	
		int insert(Empinfo empinfo);

		// 改
		/**
		 * 修改Empinfo数据库中的数据,返回受影响的行数
		 * 
		 * @param Empinfo
		 * @return
		 */
		int update(Empinfo empinfo);

		// 查
		/**
		 * 查询所有数据到ArrayList集合中
		 * 
		 * @return
		 */
		ArrayList<Empinfo> select();
	}


model层

Empinfo代码如下:

package xyz.jrkang.model;

public class Empinfo {
	private int empid;
	private String ename;
	private String sex;
	private Integer age;
	private String zhiwu;
	public int getEmpid() {
		return empid;
	}
	public void setEmpid(int empid) {
		this.empid = empid;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getZhiwu() {
		return zhiwu;
	}
	public void setZhiwu(String zhiwu) {
		this.zhiwu = zhiwu;
	}
	
	
	public Empinfo() {
		super();
	}
	public Empinfo(int empid, String ename, String sex, Integer age, String zhiwu) {
		super();
		this.empid = empid;
		this.ename = ename;
		this.sex = sex;
		this.age = age;
		this.zhiwu = zhiwu;
	}
	
	
	public Empinfo(String ename, String sex, Integer age, String zhiwu) {
		super();
		this.ename = ename;
		this.sex = sex;
		this.age = age;
		this.zhiwu = zhiwu;
	}
	@Override
	public String toString() {
		return "Empinfo [empid=" + empid + ", ename=" + ename + ", sex=" + sex
				+ ", age=" + age + ", zhiwu=" + zhiwu + "]";
	}

	
}

service层

util层

链接数据库

DBHelper.java代码如下:

​
​
package top.jrkang.util;


import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

public class DBHelper {

	private static String driver;
	private static String url;
	private static String name;
	private static String pwd;

	static {// 静态代码块 --什么时候运行? 这个类加载的时候就运行
		System.out.println("DBHelper static 代码段运行了....");
		Properties properties = new Properties();
		try {
			// 从当前路径中加载文件到Properties
			properties.load(DBHelper.class
					.getResourceAsStream("info.properties"));
			driver = properties.getProperty("driver");
			url = properties.getProperty("url");
			name = properties.getProperty("name");
			pwd = properties.getProperty("pwd");

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static Connection getConn() {
		Connection conn = null;
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, name, pwd);
		} catch (ClassNotFoundException e) {
			System.out.println("这是DBHelper类中加载驱动程序时找不到驱动程序类!");
		} catch (SQLException e) {
			System.out.println("获取连接失败!");
		}
		return conn;
	}

	public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
		try {
			if (conn != null)
				conn.close();

			if (ps != null)
				ps.close();

			if (rs != null)
				rs.close();
		} catch (SQLException e) {
			System.out.println("资源关闭失败!");
		}
	}

}

​

​

info.properties

创建一个info.properties文件,用来连接数据库。

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

url=jdbc\:sqlserver\://127.0.0.1\:1433;databaseName\=empdb

name=       //这里输入数据库用户名

pwd=        //这里输入你的数据库密码

运行结果

如下图

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蒋润康

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

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

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

打赏作者

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

抵扣说明:

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

余额充值