一、MVC框架 and SSM框架是什么?
1、MVC是模型-视图-控制器的缩写,是一种软件设计的典范。
- M ------model 模型
- V ------view 视图
- C ------controller 控制器
2、SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目 的框架。
- S ------spring ioc(控制反转),spring帮我们创建对象和 aop
- S ------springmvc 控制
- M ------mybatis 数据库操作
二、使用MVC框架修改JDBC程序
1、修改后的工程结构:
2、主要步骤
(1)在bean包下新建实体类Userinfo。实体类主要是作为数据管理和业务逻辑处理层面上存在的类别,它们的主要职责是存储和管理系统内部的信息。实体类一般包括:
- 属性
- 构造方法
- get、set方法
- tostring方法
【注】:实体类中的构造方法、get、set、tostring都可以自动生成。如下所示:右键----Generate…----Constructor(构造方法)或Getter and Setter或toString()----选择其中要包含的参数(按住ctrl点击可多选),点击OK即可自动生成。
(2)改写增删改查代码,并将其全部整合到UserinfoDao中
package com.Dao;
import com.bean.Userinfo;
import com.util.DBUtil;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class UserinfoDao {
//Dao JAVA DATEBASE CONNECTION
//1.加载驱动
//2.创建连接
//3.写sql
//4.得到statement对象
//5.执行sql,得到结果集
//6.处理结果集
//7.关闭资源
public List<Userinfo> findUsers(){
ResultSet resultSet=null;
PreparedStatement statement=null;
Connection connection=null;
List<Userinfo> users=new ArrayList<>();
try {
//1、2、调用getConn(),加载驱动,创建连接
connection=DBUtil.getConn();
//3.写sql
String sql="select * from userinfo";
//4.得到statement对象
statement=connection.prepareStatement(sql);
//5.执行sql,得到结果集
resultSet=statement.executeQuery();
//6.处理结果集
while (resultSet.next()){
int id=resultSet.getInt(1);
String username=resultSet.getString(2);
String password=resultSet.getString(3);
Userinfo user=new Userinfo(username,password);
user.setId(id);
users.add(user);
}
System.out.println(users);
} catch (Exception e) {
e.printStackTrace();
}finally {
//7.关闭资源
DBUtil.close(resultSet,statement,connection);
}
return users;
}
public void addUSer(Userinfo user){
PreparedStatement statement=null;
Connection connection=null;
try {
//1、2、调用getConn(),加载驱动,创建连接
connection= DBUtil.getConn();
//3.写sql
String sql="insert into userinfo(username,password)values (?,?)";
//4.得到statement对象
statement=connection.prepareStatement(sql);
//5.执行sql,得到结果集
statement.setString(1,user.getUsername());
statement.setString(2,user.getPassword());
statement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
//6.关闭资源
DBUtil.close(null,statement,connection);
}
}
public void deleteUser(Userinfo user){
PreparedStatement statement=null;
Connection connection=null;
try {
//1、2、调用getConn(),加载驱动,创建连接
connection= DBUtil.getConn();
//3.写sql
String sql="delete from userinfo where (id)=(?)";
//4.得到statement对象
statement=connection.prepareStatement(sql);
//5.执行sql,得到结果集
statement.setInt(1,user.getId());
statement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
//6.关闭资源
DBUtil.close(null,statement,connection);
}
}
public void updateUser(Userinfo user){
PreparedStatement statement=null;
Connection connection=null;
try {
//1、2、调用getConn(),加载驱动,创建连接
connection= DBUtil.getConn();
//3.写sql
String sql="update userinfo set username=?,password=? where id=?";
//4.得到statement对象
statement=connection.prepareStatement(sql);
//5、执行sql,得到结果集
statement.setInt(3,user.getId());
statement.setString(1,user.getUsername());
statement.setString(2,user.getPassword());
statement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
//6.关闭资源
DBUtil.close(null,statement,connection);
}
}
public static void main(String[] args){
System.out.println("1、查询");
System.out.println("2、添加");
System.out.println("3、删除");
System.out.println("4、更新");
System.out.println("请输入序号:");
Scanner scan=new Scanner(System.in);
Scanner scanner=new Scanner(System.in);
int num=scan.nextInt();
UserinfoDao userinfoDao=new UserinfoDao();
switch (num)
{
case 1:
userinfoDao.findUsers();
break;
case 2:
System.out.print("请输入用户名:");
String insertname=scanner.nextLine();
System.out.print("请输入密码:");
String insertpassword=scanner.nextLine();
Userinfo insertuserinfo=new Userinfo(insertname,insertpassword);
userinfoDao.addUSer(insertuserinfo);
break;
case 3:
System.out.print("请输入要删除的id:");
int deleteid=scan.nextInt();
Userinfo deleteuserinfo=new Userinfo();
deleteuserinfo.setId(deleteid);
userinfoDao.deleteUser(deleteuserinfo);
break;
case 4:
System.out.print("请输入要更新的id:");
int updateid=scan.nextInt();
System.out.print("请输入username:");
String updatename=scanner.nextLine();
System.out.print("请输入password:");
String updatepassword=scanner.nextLine();
Userinfo updateuserinfo=new Userinfo(updatename,updatepassword);
updateuserinfo.setId(updateid);
userinfoDao.updateUser(updateuserinfo);
break;
}
}
}
三、创建Java Web项目
新建项目,点击File—New—Project
等待jar包导入完毕,出现下图,则表示创建成功。