Intellij IDEA搭建SpringBoot + MySql + mybatis项目

和自甴很熟 提交于 2019-12-01 01:29:02

1.新建SpringBoot项目

1.1通过file->new project,新建项目

1.2.设置项目名称,包名等

1.3.选择web项目和数据库

1.4.点击Next,然后点击Finish完成项目创建,项目结构如下图

2.修改配置文件

项目中生成的配置文件为application.properties,使用起来不够简洁、切勿代码提示,因此,改换application.yml

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mydb?serverTimezone=GMT%2B8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath*:mapper/*.xml

配置文件的设置,包括服务器端口设置,以及访问路径设置等,访问路径设置,只需在server下面添加path: /xxx即可

然后通过spring:datasource 配置数据库信息,url中mydb对应的数据库名称,?serverTimezone=GMT%2B8需要添加,否则在新版本的IDEA中会报错;另外mysql.cj.jdbc会被标红,说未引入,需要修改pom文件如下

接下来是mybatis的设置,classpath*:mapper/*.xml其中mapper对应resources下面的文件夹,需要自己创建。

3.创建和数据库通信的实体

3.1创建User实体

数据表如下图

对应的实体类User.java如下:

package com.sml.mybatisdemo.domin;

public class User {
    public int id;
    public String userName;
    public String age;
    public String sex;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

3.2创建service接口

创建接口UserService.java,包含有获取所有用户的接口和插入一条数据接口。

package com.sml.mybatisdemo.service;

import com.sml.mybatisdemo.domin.User;

import java.util.List;

public interface UserService {
    List<User> getAllUser();
    void insert(User user);
}

3.3创建dao接口

创建UserDao.java文件如下

package com.sml.mybatisdemo.dao;

import com.sml.mybatisdemo.domin.User;

import java.util.List;

public interface UserDao {
    List<User> getAllUser();
    void insert(User user);
}

3.4 创建实现类

创建UserServiceImpl.java,用来实现UserService中的方法

package com.sml.mybatisdemo.mapper;

import com.sml.mybatisdemo.dao.UserDao;
import com.sml.mybatisdemo.domin.User;
import com.sml.mybatisdemo.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Resource
    UserDao userDao;

    @Override
    public List<User> getAllUser() {
        return userDao.getAllUser();
    }

    @Override
    public void insert(User user) {
        userDao.insert(user);
    }
}

3.5创建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.sml.mybatisdemo.dao.UserDao">
    <select id="getAllUser" resultType="com.sml.mybatisdemo.domin.User" >
        SELECT * FROM userinfo;
    </select>

    <insert id="insert" parameterType="com.sml.mybatisdemo.domin.User" useGeneratedKeys="true" keyProperty="userId">
        insert into
            userinfo(id,userName,age, sex)
        values
            (#{id},#{userName},#{age},#{sex})
    </insert>
</mapper>

3.6 创建controller

package com.sml.mybatisdemo.controller;

import com.sml.mybatisdemo.domin.User;
import com.sml.mybatisdemo.service.UserService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {
    @Autowired
    UserService userService;

    @GetMapping(value = "/getAllUser")
    public List<User> getAllUser(){
        return userService.getAllUser();
    }

    @PostMapping(value = "/insert")
    public void insert(@Param("id") int id,
                       @Param("username") String username,
                       @Param("age") String age,
                       @Param("sex") String sex){
        User user = new User();
        user.setId(id);
        user.setUserName(username);
        user.setAge(age);
        user.setSex(sex);
        userService.insert(user);
    }
}

3.7MybatisDemoApplication添加注解MapperScan

package com.sml.mybatisdemo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan({"com.sml.mybatisdemo.dao"})
public class MybatisDemoApplication {

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

3.8项目整体结构

4.总结

使用IDEA搭建了spring-boot+mybatis的工程,实现了和MySQL数据库的交互。

项目代码已传下载频道:https://download.csdn.net/download/u011649495/10802955m

欢迎沟通交流

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!