ssm练习

我认为,本次实验主要是对SSM框架进行CRUD操作的练习。

一、导入项目

我参考Spring+Sping MVC + Mybatis 三大框架整合详细步骤中的说明,导入一个已经成功运行的SSM框架项目。

二、对product_表的操作

  1. 创建Product实体类

public class Product {
    private int id;
    private String name;
    private float price;
    private int stock;


}

 

2.创建ProductMapper接口

public interface ProductMapper {
    List<Product> findAll();
    void insert(Product product);
    void update(Product product);
    void delete(int id);
}

 

3.创建ProductMapper.xml文件

<mapper namespace="com.example.mapper.ProductMapper">
    <select id="findAll" resultType="com.example.entity.Product">
        SELECT * FROM product_
    </select>

    <insert id="insert">
        INSERT INTO product_(name, price, stock) VALUES(#{name}, #{price}, #{stock})
    </insert>

    <update id="update">
        UPDATE product_ SET name=#{name}, price=#{price}, stock=#{stock} WHERE id=#{id}
    </update>

    <delete id="delete">
        DELETE FROM product_ WHERE id=#{id}
    </delete>
</mapper>

 

4.创建ProductService接口和实现类

public interface ProductService {
    List<Product> findAll();
    void insert(Product product);
    void update(Product product);
    void delete(int id);
}

@Service
public class ProductServiceImpl implements ProductService {
    @Autowired
    private ProductMapper productMapper;

    @Override
    public List<Product> findAll() {
        return productMapper.findAll();
    }

    @Override
    public void insert(Product product) {
        productMapper.insert(product);
    }

    @Override
    public void update(Product product) {
        productMapper.update(product);
    }

    @Override
    public void delete(int id) {
        productMapper.delete(id);
    }
}

 

5.创建ProductController类

@Controller
@RequestMapping("/product")
public class ProductController {
    @Autowired
    private ProductService productService;

    @RequestMapping("/list")
    public String list(Model model) {
        List<Product> productList = productService.findAll();
        model.addAttribute("productList", productList);
        return "product/list";
    }

    @RequestMapping(value = "/add", method = RequestMethod.GET)
    public String add() {
        return "product/add";
    }

    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String add(Product product) {
        productService.insert(product);
        return "redirect:/product/list";
    }

    @RequestMapping(value = "/edit/{id}", method = RequestMethod.GET)
    public String edit(@PathVariable int id, Model model) {
        Product product = productService.findById(id);
        model.addAttribute("product", product);
        return "product/edit";
    }

    @RequestMapping(value = "/edit", method = RequestMethod.POST)
    public String edit(Product product) {
        productService.update(product);
        return "redirect:/product/list";
    }

    @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET)
    public String delete(@PathVariable int id) {
        productService.delete(id);
        return "redirect:/product/list";
    }
}
 

6.创建对应的页面文件:在 WEB-INF/views/product 目录下,分别创建 list.jsp、add.jsp 和 edit.jsp 文件,并按照需求进行编写。

7.运行测试:启动服务器,访问页面即可查看列表信息,点击相应的按钮可以添加、修改和删除 product 信息。

三、对Users表的操作(感觉与上面步骤相似)

创建User实体类

public class User {
    private int id;
    private String name;
    private String password;
    private Date createTime;
    private Date updateTime;

    // 省略getter和setter方法
}
 

创建UserMapper接口

public interface UserMapper {
    List<User> findAll();
    User findById(int id);
    void insert(User user);
    void update(User user);
    void delete(int id);
}
 

创建UserMapper.xml文件

<mapper namespace="com.example.mapper.UserMapper">
    <select id="findAll" resultType="com.example.entity.User">
        SELECT * FROM users
    </select>

    <select id="findById" resultType="com.example.entity.User">
        SELECT * FROM users WHERE id=#{id}
    </select>

    <insert id="insert">
        INSERT INTO users(name, password, create_time, update_time) VALUES(#{name}, #{password}, #{createTime}, #{updateTime})
    </insert>

    <update id="update">
        UPDATE users SET name=#{name}, password=#{password}, create_time=#{createTime}, update_time=#{updateTime} WHERE id=#{id}
    </update>

    <delete id="delete">
        DELETE FROM users WHERE id=#{id}
    </delete>
</mapper>

创建UserService接口和实现类

public interface UserService {
    List<User> findAll();
    User findById(int id);
    void insert(User user);
    void update(User user);
    void delete(int id);
}

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> findAll() {
        return userMapper.findAll();
    }

    @Override
    public User findById(int id) {
        return userMapper.findById(id);
    }

    @Override
    public void insert(User user) {
        userMapper.insert(user);
    }

    @Override
    public void update(User user) {
        userMapper.update(user);
    }

    @Override
    public void delete(int id) {
        userMapper.delete(id);
    }
}

 

创建UserController类

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/list")
    public String list(Model model) {
        List<User> userList = userService.findAll();
        model.addAttribute("userList", userList);
        return "user/list";
    }

    @RequestMapping(value = "/add", method = RequestMethod.GET)
    public String add() {
        return "user/add";
    }

    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String add(User user) {
        userService.insert(user);
        return "redirect:/user/list";
    }

    @RequestMapping(value = "/edit/{id}", method = RequestMethod.GET)
    public String edit(@PathVariable int id, Model model) {
        User user = userService.findById(id);
        model.addAttribute("user", user);
        return "user/edit";
    }

    @RequestMapping(value = "/edit", method = RequestMethod.POST)
    public String edit(User user) {
        userService.update(user);
        return "redirect:/user/list";
    }

    @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET)
    public String delete(@PathVariable int id) {
        userService.delete(id);
        return "redirect:/user/list";
    }
}

 

 

创建对应的页面文件:在 WEB-INF/views/user 目录下,分别创建 list.jsp、add.jsp 和 edit.jsp 文件,并按照需求进行编写。

运行测试:启动服务器,访问 http://localhost:8080/xxx/user/list 页面即可查看列表信息,点击相应的按钮可以添加、修改和删除 user 信息。

最终结果;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值