1、关于导包:pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
</dependencies>
2、关于启动类
@SpringBootApplication
@MapperScan("com.example.demogo.mapper")
public class DemoGoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoGoApplication.class, args);
}
}
3、关于配置
server.port=8086
spring.datasource.url=jdbc:mysql://localhost:3306/book?serverTimeZone=GTC
spring.datasource.username=root
spring.datasource.password=root
mybatis-plus.mapper-locations=classpath:/mapper/*.xml
spring.redis.database=0
spring.redis.port=6379
spring.redis.jedis.pool.max-active=20
spring.redis.timeout=1000
4、关于entity层
package com.example.demogo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
@TableName("user")
public class User implements Serializable {
@TableId(type = IdType.AUTO)
private Integer userId;
@TableField("lastname")
private byte lastname;
@TableField("name")
private Integer name;
private Integer updateTime;
private Integer deleteTime;
private String img;
private String imgHistory;
private String isTranslate;
private String test;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public byte getLastname() {
return lastname;
}
public void setLastname(byte lastname) {
this.lastname = lastname;
}
public Integer getName() {
return name;
}
public void setName(Integer name) {
this.name = name;
}
public User() {
}
public Integer getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Integer updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteTime() {
return deleteTime;
}
public void setDeleteTime(Integer deleteTime) {
this.deleteTime = deleteTime;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public String getImgHistory() {
return imgHistory;
}
public void setImgHistory(String imgHistory) {
this.imgHistory = imgHistory;
}
public String getIsTranslate() {
return isTranslate;
}
public void setIsTranslate(String isTranslate) {
this.isTranslate = isTranslate;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
public User(Integer userId, byte lastname, Integer name, Integer updateTime, Integer deleteTime, String img, String imgHistory, String isTranslate, String test) {
this.userId = userId;
this.lastname = lastname;
this.name = name;
this.updateTime = updateTime;
this.deleteTime = deleteTime;
this.img = img;
this.imgHistory = imgHistory;
this.isTranslate = isTranslate;
this.test = test;
}
}
5、关于mapper
package com.example.demogo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demogo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
public User selectUserData(User user);
public int insertUserData(User user);
public User getUserInfoByUserId(Integer userId);
}
6、关于service层
package com.example.demogo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demogo.entity.User;
public interface UserService extends IService<User> {
public User getUserInfoByUserId(Integer userId);
}
7、关于serviceImpl
package com.example.demogo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demogo.entity.User;
import com.example.demogo.mapper.UserMapper;
import com.example.demogo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserInfoByUserId(Integer UserId) {
return userMapper.getUserInfoByUserId(UserId);
}
}
8、关于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.demogo.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.demogo.entity.User">
<id property="userId" column="user_id" jdbcType="INTEGER"/>
<result property="lastname" column="lastname" jdbcType="TINYINT"/>
<result property="name" column="name" jdbcType="INTEGER"/>
</resultMap>
<sql id="selectUserVo">
select `user_id`,
`lastname`,
`name`,
`update_time`,
`delete_time`,
`img`,
`img_history`,
`is_translate`,
`test`
from USER
</sql>
<sql id="sqlWhereT">
<where>
and user_id = #{userId}
</where>
</sql>
<sql id="Base_Column_List">
user_id
,lastname,name,
update_time,delete_time,img,
img_history,is_translate,test
</sql>
<select id="selectUserData" resultMap="BaseResultMap">
<include refid="selectUserVo"/>
<include refid="sqlWhereT"/>
</select>
<select id="getUserInfoByUserId" parameterType="integer" resultType="com.example.demogo.entity.User">
<include refid="selectUserVo"/>
<include refid="sqlWhereT"/>
</select>
<insert id="insertUserData" parameterType="com.example.demogo.entity.User">
insert into user(
<if test="lastname != null and lastname != ''">lastname,</if>
<if test="name != null and name != ''">name,</if>
<if test="imgHistory != null and imgHistory != ''">img_history,</if>
<if test="img != null and img != ''">img,</if>
<if test="isTranslate != null and isTranslate != ''">is_translate,</if>
<if test="test != null and test != ''">test,</if>
update_time,delete_time
)values(
<if test="lastname != null and lastname != ''">#{lastname},</if>
<if test="name != null and name != ''">#{name},</if>
<if test="imgHistory != null and imgHistory != ''">#{imgHistory},</if>
<if test="img != null and img != ''">#{img},</if>
<if test="isTranslate != null and isTranslate != ''">#{isTranslate},</if>
<if test="test != null and test != ''">#{test},</if>
1111,
null
);
</insert>
</mapper>
9、关于调用问题:controller中的使用
package com.example.demogo.controller;
import com.example.demogo.entity.User;
import com.example.demogo.mapper.UserMapper;
import com.example.demogo.service.UserService;
import com.example.demogo.tool.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/index")
public class IndexController {
@Autowired
private UserService userService;
@Autowired
private UserMapper userMapper;
@GetMapping("/index")
public String index() {
return "indexController-index";
}
@GetMapping("/user/{id}")
public User getUser(@PathVariable String id) {
return userService.getById(id);
}
@GetMapping("/u")
public User users() {
User user = new User();
user.setUserId(1);
return userMapper.selectUserData(user);
}
@GetMapping("/insert")
public int insert(
@RequestParam byte lastname,
@RequestParam int name,
@RequestParam String img,
@RequestParam String imgHistory,
@RequestParam String test
) {
User user = new User();
user.setLastname(lastname);
user.setName(name);
user.setImg(img);
user.setImgHistory(imgHistory);
user.setTest(test);
return userMapper.insertUserData(user);
}
@GetMapping("/getUser/{id}")
public AjaxResult getUserByUserId(@PathVariable Integer id) {
User user = userService.getUserInfoByUserId(id);
return AjaxResult.success(user);
}
}