Spring 练习(Mybatis xml配置方式)

本文详细介绍了如何在SpringBoot项目中使用Mybatis进行XML配置,包括创建User实体类、UserMapper映射接口及XML映射文件,配置application.properties,编写控制器UserController以及展示数据的JSP页面,实现了CRUD基本操作。
摘要由CSDN通过智能技术生成

pom.xml 文件的配置与上篇文章中的配置相同,只需进行其他代码的编写

一、对 User 表进行 CRUD 操作

1、创建实体类 User

package com.how2java.springboot.pojo;

public class User {

	public int id;
	public String name;
	public String sex;
	public int age;

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getAge() {
		return this.age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return this.sex;
	}

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

2、创建映射接口类 UserMapper

package com.how2java.springboot.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.how2java.springboot.pojo.User;

@Mapper
public interface UserMapper {

	public List<User> list(User user);

	public void add(User user);

	public void delete(User user);

	public void update(User user);
}

3、创建映射文件 UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
    <mapper namespace="com.how2java.springboot.mapper.UserMapper">
        <insert id="add" parameterType="User" >
            insert into huiyuan ( name , age,sex ) values (#{name},#{age},#{sex})   
        </insert>
         
        <delete id="delete" parameterType="User" >
            delete from huiyuan where id= #{id}  
        </delete>
         
 
        <update id="update" parameterType="User" >
            update huiyuan
			<set>
			<if test="name!=null">name=#{name},</if>
			<if test="age!=null">age=#{age},</if>
			<if test="sex!=null">sex=#{sex}</if>
			</set>
             where id=#{id}   
        </update>
        
        <select id="list" resultType="User">
            select * from   huiyuan 
        </select> 
        
          
    </mapper>

4、配置 application.properties文件

配置路径与数据源

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db_database24?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=914717
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.mapper-locations=classpath:com/how2java/springboot/mapper/*.xml
mybatis.type-aliases-package=com.how2java.springboot.pojo

5、创建控制器类UserController

package com.how2java.springboot.web;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.how2java.springboot.mapper.UserMapper;
import com.how2java.springboot.pojo.User;

@Controller
public class UserController {

	@Autowired
	UserMapper userMapper;

	@RequestMapping("/addUser")
	public String addUser(User user) {
		userMapper.add(user);
		return "redirect:listUsers";
	}

	@RequestMapping("/deleteUser")
	public String deleteUser(User user) {
		userMapper.delete(user);
		return "redirect:listUsers";
	}

	@RequestMapping("/editUser")
	public String editUser(User user, Model m) {
		m.addAttribute("user", user);
		return "editUser";
	}

	@RequestMapping("/updateUser")
	public String updateUser(User user) {
		userMapper.update(user);
		return "redirect:listUsers";
	}

	@RequestMapping("/listUsers")
	public String listUsers(Model m, @RequestParam(value = "start", defaultValue = "0") int start,
			@RequestParam(value = "size", defaultValue = "5") int size) {
		PageHelper.startPage(start, size, "id asc");
		List<User> usList = userMapper.list();
		PageInfo<User> pageInfo = new PageInfo<User>(usList);
		m.addAttribute("page", pageInfo);
		return "listUsers";
	}
}

6、创建 listUsers.jsp 文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    
<div align="center">
  
</div>
  
<div style="width:500px;margin:20px auto;text-align: center">
    <table align='center' border='1' cellspacing='0'>
        <tr>
            <td>id</td>
            <td>name</td>
            <td>age</td>
            <td>sex</td>
            <td>编辑</td>
            <td>删除</td>
        </tr>
        <c:forEach items="${page.list}" var="c" varStatus="st">
            <tr>
                <td>${c.id}</td>
                <td>${c.name}</td>
                <td>${c.age}</td>
                <td>${c.sex }</td>
                <td><a href="editUser?id=${c.id}">编辑</a></td>
                <td><a href="deleteUser?id=${c.id}">删除</a></td>
            </tr>
        </c:forEach>
          
    </table>s
    <br>
    <div>
                <a href="?start=1">[首  页]</a>
            <a href="?start=${page.pageNum-1 < 1 ? 1 : page.pageNum-1}">[上一页]</a>
            <a href="?start=${page.pageNum+1 < page.pages ? page.pageNum+1 : page.pages}">[下一页]</a>
            <a href="?start=${page.pages}">[末  页]</a>
    </div>
    <br>
    <form action="addUser" method="post">
      
    name: <input name="name"> <br>
    age:<input name="age"><br>
   	sex:<input name="sex"><br>
    <button type="submit">提交</button>
      
    </form>
</div>

7、创建 editUser.jsp 文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8" isELIgnored="false"%>
  
<div style="margin:0px auto; width:500px">
  
<form action="updateUser" method="post">
  
name: <input name="name"> <br>
age:<input name="age"><br>
sex:<input name="sex"><br>
<input name="id" type="hidden" value="${user.id}">
<button type="submit">提交</button>
  
</form>
</div>

运行 Application 类即可成功运行项目,功能与 SSM 练习的功能相同

这样 SpringBoot 基于 Mybatis 的 xml 配置方式的 CRUD 操作就完成了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值