ss-MyBatis Spring-Boot-Starter操作crud (整合Mybatis框架,spring-boot)

210 阅读1分钟

场景

MyBatis Spring-Boot-Starter简单的CRUD

http://localhost:8080/queryUserlist http://localhost:8080/addUser http://localhost:8080/updateUser http://localhost:8080/deleteUser

配置

pom.xml

//jetbrains://idea/navigate/reference?project=sprintboot&path=spingbook-05-mybatis/pom.xml:21:3

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>

application.properties

//jetbrains://idea/navigate/reference?project=sprintboot&path=application.properties:1:1

spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#整合mybatis
mybatis.type-aliases-package=com.cmk.spingbook05mybatis.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

pojo

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private int id;
    private String name;
    private String pwd;
}

UserMapper

UserMapper.java

//jetbrains://idea/navigate/reference?project=sprintboot&path=com/cmk/spingbook05mybatis/mapper/UserMapper.java:18:1
//这个注解表示了这是一个mybatis的mapper类;
@Mapper
@Repository
public interface UserMapper {
//    public static final int age = 18;

    List<User> queryUserList();

    User queryUserById(int id);

    int addUser(User user);

    int updateUser(User user);

    int deleteUser(int id);
}

UserMapper.xml

//jetbrains://idea/navigate/reference?project=sprintboot&path=mybatis/mapper/UserMapper.xml:3:3

<mapper namespace="com.cmk.spingbook05mybatis.mapper.UserMapper">

    <select id="queryUserList" resultType="com.cmk.spingbook05mybatis.pojo.User">
        select * from user
    </select>

    <select id="queryUserById" resultType="com.cmk.spingbook05mybatis.pojo.User" parameterType="int">
        select * from user where id = #{id}
    </select>

    <insert id="addUser" parameterType="com.cmk.spingbook05mybatis.pojo.User">
        insert into user(id,name,pwd) values (#{id},#{name},#{pwd})
    </insert>


    <update id="updateUser" parameterType="com.cmk.spingbook05mybatis.pojo.User">
            update user set name=#{name},pwd=#{pwd} where id = #{id}
    </update>


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

</mapper>

控制器

UserController.java

//jetbrains://idea/navigate/reference?project=sprintboot&fqn=org.springframework.web.bind.annotation.RestController

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/queryUserlist")
    public List<User> queryUserList(){
        List<User> userList = userMapper.queryUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        return userList;
    }

    //添加一个用户
    @GetMapping("/addUser")
    public String addUser(){
        userMapper.addUser(new User(5,"阿坝","1234565"));
        return "ok";
    }


    //修改一个用户
    @GetMapping("/updateUser")
    public String updateUser(){
        userMapper.updateUser(new User(5,"啊毛","778899"));
        return  "ok";
    }

    //删除一个用户
    @GetMapping("/deleteUser")
    public String deleteUser(){
        userMapper.deleteUser(5);
        return "ok";
    }
}