1、以下所有代码均依托于已经整合了mysql/mybatis等配置下
2、启动类代码: 注:增加@MapperScan注解,标明mapper所在位置。
package com.example.demo2;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan(basePackages = "com.example.demo2.mapper")
public class Demo2Application {
public static void main(String[] args) {
SpringApplication.run(Demo2Application.class, args);
}
}
3、实体类代码:entity/User.java
package com.example.demo3.entity;
import com.example.demo3.common.BaseModel;
import java.io.Serializable;
import lombok.Data;
/**
* 用户表
* user
* @author pyp
* @date 2020/04/26
*/
@Data
public class User extends BaseModel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键信息
* id
*/
private Integer id;
}
4、mapper代码:mapper/UserMapper.java 因为在启动类中已经注入了mapper包位置,因此这里无需添加@mapper注解,但是需要加上@Repository注解
package com.example.demo2.mapper;
import com.example.demo2.common.BaseMapper;
import com.example.demo2.entity.User;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created by Mybatis Generator 2020/05/06
*/
@Repository
public interface UserMapper extends BaseMapper {
int deleteByPrimaryKey(Integer id);
int insert(User record);
List<User> selectAll();
}
5、xml文件代码:resources/mapper/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.example.demo3.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.demo3.entity.User">
<id column="id" jdbcType="INTEGER" property="id" />
</resultMap>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from user
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.example.demo3.entity.User">
<selectKey keyProperty="id" order="BEFORE" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
insert into user (id)
values (#{id,jdbcType=INTEGER})
</insert>
<select id="selectAll" resultMap="BaseResultMap">
select id
from user
</select>
</mapper>
6、service代码:service/UserInfoService.java
package com.example.demo2.service;
import com.example.demo2.entity.User;
import java.util.List;
public interface UserInfoService {
List<User> userInfo();
}
7、impl代码:service/Impl/UserInfoServiceImpl.java 注:需要引入@Service注解
package com.example.demo2.service.Impl;
import com.example.demo2.entity.User;
import com.example.demo2.mapper.UserMapper;
import com.example.demo2.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserInfoServiceImpl implements UserInfoService {
@Autowired
private UserMapper userMapper;
public List<User> userInfo(){
return userMapper.selectAll();
}
}
8、控制器层代码:controller/UserInfoController.java
package com.example.demo2.controller;
import com.example.demo2.entity.User;
import com.example.demo2.service.UserInfoService;
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.ResponseBody;
import java.util.List;
@ResponseBody
@Controller
public class UserInfoController {
@Autowired
private UserInfoService userInfoService;
@GetMapping("/userInfo")
public List<User> userInfo(){
return this.userInfoService.userInfo();
}
}