springboot

  1. 创建一个新的模块
    注意模块选择,并选择jdk版本至少为8

    image
image

此处可以添加自身所需依赖

image
image
  1. 准备工作
    添加所需依赖
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>

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

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.6</version>
            <optional>true</optional>
        </dependency>
    </dependencies>

在application.properties中添加配置,其中中username和password为自身数据库的用户名和密码(以my sql为例)

## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/db_spring?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=**
spring.datasource.password=**
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#指定实体类映射的包
mybatis.type-aliases-package=com.springboot.mybatis.entity

构建包结构

image
  1. 进行编码
  • 编写entity实体类,其中属性对应数据库中表的数据
@Data
public class User {
    private Long userId;
    private String mobile;
    private String password;
    private String username;
    private String avatar;
}

  • 在Mapper中编写需要使用到的sql语句,在结果集中column为数据库属性名,property为idea中属性名,还有就是sql语句在最后空一格为了方便拼接
public interface UserMapper {
    @Results({@Result(column = "user_id",property = "userId"),
            @Result(column = "mobile",property = "mobile"),
            @Result(column = "password",property = "password"),
            @Result(column = "username",property = "username"),
            @Result(column = "avatar",property = "avatar")
    })
    @Select("SELECT * FROM t_sys_user ")
    List<User> selectAll();

    @Results({@Result(column = "user_id",property = "userId"),
            @Result(column = "mobile",property = "mobile"),
            @Result(column = "password",property = "password"),
            @Result(column = "username",property = "username"),
            @Result(column = "avatar",property = "avatar")
    })
    @Select("SELECT * FROM t_sys_user WHERE user_id = #{userId} ")
    User getOne(Long userId);

    @Delete("DELETE FROM t_sys_user WHERE user_id =#{userId} ")
    void delete(Long userId);

    @Insert("INSERT INTO t_sys_user(mobile,password,username,avatar)"+
            "VALUES(#{mobile},#{password},#{username},#{avatar}) ")
    void insert(User user);

    @Update("UPDATE t_sys_user SET password=#{password},avatar=#{avatar} WHERE user_id=#{userId} ")
    void updata(User user);
}

  • service中写个实现mapper中方法的接口
public interface UserService {
    List<User> selectAll();

    User getOne(long userId);

    void delete(long userId);

    User  insert(User user);

    void updata(User user);
}

  • 在serviceimpl中实现service中接口的方法
@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper userMapper;

    @Override
    public List<User> selectAll() {
        return userMapper.selectAll();
    }

    @Override
    public User getOne(long userId) {
        return userMapper.getOne(userId);
    }

    @Override
    public void delete(long userId) {
          userMapper.delete(userId);
    }

    @Override
    public User insert(User user) {
        userMapper.insert(user);
        return user;
    }

    @Override
    public void updata(User user) {
        userMapper.updata(user);
    }
}

  • 对serviceImpl中的方法进行测试,以便排查错误

  • 在controller中写入RESTful请求

@RestController
@RequestMapping(value = "/api")
public class UserController {
    @Resource
    private UserService userService;

    @RequestMapping(value = "/users",method = RequestMethod.GET)
    public List<User> selectAll(){
        return userService.selectAll();
    }

    @RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
    public User getOne(@PathVariable("id") long id){
        return userService.getOne(id);
    }

    @RequestMapping(value = "/user/{id}",method = RequestMethod.DELETE)
    public void deleteUser(@PathVariable("id") long id){
        userService.delete(id);
    }

    @RequestMapping(value = "/user",method = RequestMethod.POST)
    public User addUser(@RequestBody User user){
        return userService.insert(user);
    }

    @RequestMapping(value = "/user",method = RequestMethod.PUT)
    public void update(@RequestBody User user){
        userService.updata(user);
    }

}

  • 打开启动类,记得加上注释,不然可能找不到mapper,最后运行
@SpringBootApplication
@MapperScan("com.springboot.mybatis.mapper")
public class SpringBootMybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootMybatisApplication.class, args);
    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近做项目用到springboot整合mybatis,security。将其中遇到的问题做一个总结 注:本项目全程...
    huoyl0410阅读 4,166评论 1 2
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 11,020评论 0 9
  • springboot 概述 SpringBoot能够快速开发,简化部署,适用于微服务 参考嘟嘟大神SpringBo...
    一纸砚白阅读 10,943评论 2 20
  • 一、创建篇 新建项目,如下图所示。image 选择Spring Initializr。image 填写Group、...
    Jerry_Liang阅读 17,092评论 0 4
  • 鬼知道该怎么选择 最近一段时间以来,总觉得自己是濒临抑郁的边缘,我变成了一个没有理想,没有抱负的四无青年,总是...
    玻璃心美少女阅读 2,118评论 0 0

友情链接更多精彩内容