1.E-R图,数据库建表

2.建SpringBoot项目(maven),maven中引入相关依赖

3.配置文件(.properties和yml两种)(同时配置 前者优先级高)
yml形式

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/yst?useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver
#整合mybatis
mybatis:
  type-aliases-package: com.example.pojo
  mapper-locations: classpath:mybatis/mapper/*.xml

#端口号
server:
  port: 8081

.properties形式

#端口号
server.port=8081
#数据库配置
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/yst?useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#整合mybatis
mybatis.type-aliases-package=com/example/pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

4.分层建包(实体类 pojo,数据操作层dao(mapper),业务逻辑service,页面跳转controller,工具类:utils)

5.对照数据库表格 写实体类

package com.example.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Service;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
    private int id;
    private String username;
    private String password;
    private String name;
    private int age;
    private String sex;
    private Boolean isMry;
}

6.写dao层数据操作接口

package com.example.mapper;
import com.example.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
//@Mapper
//此注解表示mybatis 的一个 mapper 类(在springboot启动类指定了扫描包,这里就可以不用mapper注解)
@Repository
public interface UserMapper {
    List<User> selectAll();
    User selectUserById(int id);
    int addUser(User user);
    int updateUser(User user);
    int deleteUserById(int id);
}

7.xml文件与接口绑定(注意namespace)

<?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.example.mapper.UserMapper">

    <select id="selectAll" resultType="com.example.pojo.User">
     select*from user
    </select>

    <select id="selectUserById" resultType="com.example.pojo.User">
    select * from user where id=#{id}
    </select>
    <insert id="addUser" parameterType="com.example.pojo.User">
        insert into user(id,username,password,name,age,sex,isMry)
         values(#{id},#{username},#{password},#{name},#{age},#{sex},#{isMry})
    </insert>

    <update id="updateUser" parameterType="com.example.pojo.User">
        update user set
       username=#{username},password=#{password},name=#{name},age=#{age},sex=#{sex},isMry=#{isMry}
       where id= #{id}
    </update>

    <delete id="deleteUserById" parameterType="int">
        delete from user where id=#{id}
    </delete>

</mapper>

8.编写controller层实现数据交互与页面跳转

package com.example.controller;
import com.example.mapper.UserMapper;
import com.example.pojo.User;
import jdk.nashorn.internal.runtime.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Logger
@RestController
@RequestMapping("/a")
public class UserController {
    @Autowired
    private UserMapper userMapper ;
    /**
     * 查新所有
     * @return
     */
    @GetMapping("/selectAll")
    public List<User> selectAll(){
        List<User> users = userMapper.selectAll();
        for (User user : users) {
            System.out.println(user);
        }
        return users;
    }
    /**
     * 添加用户
     * @return
     */
     @GetMapping("/addUser")
     public String addUser(){
        try {
            userMapper.addUser(new User(8,"zxc","xxx","小黄",18,"男",true));
            return "ok";
        }catch (Exception e){
            System.out.println(e.getMessage());
            return e.getMessage();
        }
    }
}

9.启项目,启动类:SpringMybaitsApplication,输入IP端口号 测试

posted on 2021-08-27 17:26  剑舞红颜笑i  阅读(246)  评论(0)    收藏  举报