• mybatis框架——实战练习——第一个spring boot + mybatis项目


    CREATE TABLE `users` (
      `id` int NOT NULL,
      `name` varchar(255) DEFAULT NULL,
      `age` int DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
    

      

    mysql8安装——mysql-8.0.29——用户名:root--密码:123456--数据库名:mysql8

    ====================================================================================================================

    工程pom如下:

    注意:spring boot 以及mybatis的依赖。有固定的依赖模块。

    之前引入了mybatis,运行不起来。

    <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
    </dependency>
    <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>org.example</groupId>
      <artifactId>anxinfu</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>anxinfu Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
      </properties>
    
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
      </parent>
    
    
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <version>2.1.1</version>
        </dependency>
    
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
    
      <build>
        <finalName>anxinfu</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
          <plugins>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.1.0</version>
            </plugin>
            <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.0.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.22.1</version>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.5.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.8.2</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </project>
    

      

    application.yml

    spring:
      datasource:
        username: root
        password: 123456
        url: jdbc:mysql://localhost:3306/mysql8
        driver-class-name: com.mysql.cj.jdbc.Driver
    
    mybatis:
      config-location: classpath:mybatis/mybatis-config.xml
      mapper-locations: classpath:mybatis/mapper/*.xml
    

      

    UserMapper.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.test.mapper.UserMapper">
        <select id="findAll" resultType="com.test.entity.MyUser">
            select * from users
        </select>
    </mapper>
    

      

    POJO类:

    MyUser
    package com.test.entity;
    
    public class MyUser {
    
            private int id;
            private String name;
            private int age;
    
            public int getId() {
            return id;
        }
    
            public void setId(int id) {
            this.id = id;
        }
    
            public String getName() {
            return name;
        }
    
            public void setName(String name) {
            this.name = name;
        }
    
            public int getAge() {
            return age;
        }
    
            public void setAge(int age) {
            this.age = age;
    
        }
    }
    

      

    映射:

    mapper:

    UserMapper 
    package com.test.mapper;
    
    
    import com.test.entity.MyUser;
    import org.apache.ibatis.annotations.Mapper;
    
    import java.util.List;
    
    @Mapper
    public interface UserMapper {
        public List<MyUser> findAll();
    }
    

      

    服务层,先接口

    UserService
    package com.test.serviice;
    
    
    import com.test.entity.MyUser;
    
    import java.util.List;
    
    public interface UserService
    {
        List<MyUser> findAll();
    }
    

      

    实现服务接口:

    PS: 需要注入

    package com.test.serviice.impl;
    
    
    import com.test.entity.MyUser;
    import com.test.mapper.UserMapper;
    import com.test.serviice.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class UserServiceImpl implements UserService {
        @Autowired
        UserMapper userMapper;
        @Override
        public List<MyUser> findAll() {
            return userMapper.findAll();
        }
    
    }
    

      

    控制层:

    StartMainController

    此处,注入 服务层 接口

    package com.test.controller;
    
    import com.test.entity.MyUser;
    import com.test.serviice.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    @RestController
    public class StartMainController
    {
        @Autowired
        private UserService userService;
    
        @GetMapping(value = "/1")
        public List<MyUser> home1()
        {
            // 查询所有网站
            List<MyUser> users = userService.findAll();
            for (MyUser user : users)
            {
                System.out.println(user.getId()+"  "+user.getName()+"  "+user.getName());
            }
            return users;
        }
    }
    

      

    =========================================================================

    package com.test;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class SpringBootStart
    {
        public static void main(String[] args)
        {
            SpringApplication.run(SpringBootStart.class, args);
        }
    
    }
    

      

    =======================================================================

    http://localhost:8080/1

  • 相关阅读:
    数字索引分页
    经典语录 cloud
    日常交际技巧经验总结100句(大全) cloud
    成大事必备9种能力、9种手段、9种心态 cloud
    浅谈服务器虚拟化
    使用mysqlard监控mysql服务器性能
    CentOS服务器iptables配置
    如何编写好的应用程序
    电子杂志新出路
    泸州老窖集团有限责任公司电子化职能化和网络化的管理新模式
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/16295859.html
Copyright © 2020-2023  润新知