基础工作
1、创建项目springboot项目,勾选web+JDBC+MySQL驱动
2、导入mybatis-springboot-starter依赖
mybatis-spring-boot-starter 2.x 版本暂时还不适配 Spring Boot 3 版本
mybatis-spring-boot 3.0.0版本,才完全支持 Spring Boot 3
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
3、编写application.properties配置文件
#数据库配置 根据自己数据库username和password修改
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#整合mybatis
#给pojo实体类起别名
mybatis.type-aliases-package=com.kuang.pojo
#接口的配置文件的位置 我这里接口配置文件是UserMapper.xml 如下图所示
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
项目结构
使用Lombok插件
下载:File→Setting→Plugins
1.导入Lombok依赖
2.导入Lombok依赖
<!--导入Lombok依赖-->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<!--这里是设置作用域-->
<!--注释作用域,表明我想让它为全局使用-->
<!--<scope>provided</scope>-->
</dependency>
编写相关类
1、编写pojo包下的实体类User,使用lombok
package com.model.entity;
import lombok.Data;
import org.apache.ibatis.type.Alias;
@Data
@Alias("User")
public class User {
private int id;
private String username;
private String password;
private String name;
}
2、编写接口UserMapper
package com.mapper.usermapper;
import com.model.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Mapper
@Repository
public interface UserMapper {
// @Select("select * from t_user")
// List<User> queryUserList();
@Select("SELECT * FROM t_user WHERE id=#{id}")
User findById(Integer id);
List<User> queryUserList();
@Select("select * from t_user where username = #{username}")
List<User> selectByname(String usermame);
}
接口实现配置文件UserMapper.xml
package com.mapper.usermapper;
import com.model.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Mapper
@Repository
public interface UserMapper {
// @Select("select * from t_user")
// List<User> queryUserList();
@Select("SELECT * FROM t_user WHERE id=#{id}")
User findById(Integer id);
List<User> queryUserList();
@Select("select * from t_user where username = #{username}")
List<User> selectByname(String usermame);
}
配置文件UserMapper.xml的位置
编写contoller中UserController
import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import sun.net.util.IPAddressUtil;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/findAll")
public List<User> findAll() {
return userservice.findAll();
}
@RequestMapping("/info/{id}")
public User findById(@PathVariable("id") Integer id) {
return userservice.findById(id);
}
@PostMapping("/login")
// 如果前端传递的数据是json格式,必须使用对象接收,同时需要添加@RequestBody
public Result login(@RequestBody User user){
return userservice.login(user.getUsername());
}
}