IDEA 2019 springboot +mybatis 全过程(使用全注解模式)

本文档详细介绍了如何在IntelliJ IDEA 2019.2环境下,利用Spring Boot和Mybatis构建一个全注解模式的项目。从新建Spring Boot项目、配置数据库、创建实体类、Mapper接口和Controller,到运行并测试项目,每个步骤都有清晰的说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、环境:

  • 操作系统:win10 64 位
  • 数据库:mysql 5.5.62
  • IDEA:2019.2
  • java:jdk1.8 
  • maven:3.6.1,构建本地仓库,添加阿里镜像(国内下载速度快),settings.xml如下:
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>G:\apache-maven-3.6.1\repository</localRepository>

  <pluginGroups>
  </pluginGroups> 
  <proxies>  
  </proxies>
  <servers>  
  </servers>
  
  <mirrors>     
	<mirror>      
     <id>nexus-aliyun</id>    
     <name>nexus-aliyun</name>  
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>    
      <mirrorOf>central</mirrorOf>      
 </mirror>	 
  </mirrors>
  
  <profiles>    
  </profiles>
</settings>

2、新建springboot项目

建完工程,把application.properties 重命名为application.yml

建立完成后,pom.xml 内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>springdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springdemo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
 <!--     jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--     thymeleaf-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!--     spring-boot-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--     mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>


<!--        mysql-->
        <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>
            <exclusions>
<!--                单元测试-->
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
<!--        jpa-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
    </dependencies>

    <build>
<!--        插件-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

 

3、建库建表,并配置数据源

登录数据库,建库建表(数据库名 test  表名 user ,表中3列:id、userName、passWord)

create database test default charset utf8;	
create table user
(
    id  int(20)  primary key auto_increment ,
    userName varchar(30)  null,
    passWord varchar(30)  null
)engine=innodb charset=utf8;

添加Mysql数据源

配置数据源:

 

application.yml配置数据库 和持久化:

server:
  port: 8082
spring:
  #数据库相关配置
  datasource:
    url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&serverTimezone=UTC
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    database: mysql
    show-sql: true
#mybatis依赖
mybatis:
  type-aliases-package: com.example.springdemo.domain
  #驼峰命名
  configuration:
    map-underscore-to-camel-case: true

4、创建实体类、Mapper接口、controller类:

实体类User:

package com.example.springdemo.domain;

import javax.persistence.*;

@Entity
@Table(name="user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String userName;
    private  String passWord;

    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 getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }
}

Mapper接口:

package com.example.springdemo.mapper;

import com.example.springdemo.domain.User;
import org.apache.ibatis.annotations.Select;

//不使用xml ,采用全注解的形式
import java.util.List;

public interface UserMapper {
    @Select("select * from user")
    List<User> findAll();

}

Controller类:

package com.example.springdemo.controller;

import com.example.springdemo.domain.User;
import com.example.springdemo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {
    @Autowired
    UserMapper userMapper;
@RequestMapping("/fAUs")
    public List<User> findAllUser(){
    return userMapper.findAll();
}
}

项目整体工程结构图如下:

5、测试

运行springboot项目:

地址栏输入:localhost:8082/fAUs 回车,返回的数据库查询结果(未插入过数据,所以为空)

6、注意:

  • SpringdemoApplication要加注解:@MapperScan(value = "com.example.springdemo.mapper"),或者在UserMapper接口上加@Mapper注解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

23点59

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值