• 在IDEA中创建SpringBoot标准工程(接上篇)


    IDEA安装插件Spring Assistant。

    新建项目,选择Spring Assistant

    选中如下依赖

    自动生成的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.legion</groupId>
        <artifactId>hellomybatis</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>HelloMybatis</name>
        <description>Demo project for Spring Boot</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.0.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <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>1.3.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
            </dependency>
            <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>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    
    </project>
    pom.xml内容

     工程内容和上一篇基本一致:

    public class Machine {
        private int id;
        private String mach_no;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getMach_no() {
            return mach_no;
        }
        public void setMach_no(String mach_no) {
            this.mach_no = mach_no;
        }
        
    }
    
    package com.legion.pojo;
    
    public class ResultEntity {
        private String status;
        private String data;
        public String getStatus() {
            return status;
        }
        public void setStatus(String status) {
            this.status = status;
        }
        public String getData() {
            return data;
        }
        public void setData(String data) {
            this.data = data;
        }
        
    }
    pojo包中文件内容
    @Mapper
    public interface MachineMapper {
        public List<Machine> findAll();
        public Machine isMachineIn(String mach_no);
    }
    dao包中内容
    /*MachineService.jva*/
    public interface MachineService {
        public List<Machine> findAll();
        public Machine findMachine(String no);
    }
    
    
    /*MachineServiceImpl.java*/
    @Service
    public class MachineServiceImpl implements MachineService {
        
        @Autowired
        private MachineMapper machine;
        @Override
        public List<Machine> findAll() {
            return machine.findAll();
        }
        @Override
        public Machine findMachine(String no) {
            return machine.isMachineIn(no);
        }
    
    }
    service包中文件内容
    @RestController
    public class UserController {
        @Autowired
        private MachineService ms;
        @RequestMapping("/all")
        public List<Machine> findAll(){
            return ms.findAll();
        }
        
        @RequestMapping("/hello")
        public String show() {
            return "hello,world";
        }
        /**
         * 
         * @param machine
         * @return
         */
        @RequestMapping(value="/testMachine",method=RequestMethod.GET)
        public ResultEntity test(@RequestParam(required=true) String machine,@RequestParam(required=true) String pass) {
            Machine m=ms.findMachine(machine);
            ResultEntity re=new ResultEntity();
            if(!pass.equals("hello")) {
                re.setStatus("no_pass");
                re.setData("wrong");
                return re;
            }
            if(m!=null) {
                re.setStatus("bad");
                re.setData("already exists");
            }else {
                re.setStatus("ok");
                re.setData("good to add one here");
            }
            return re;
        }
        
    }
    controller包中文件内容

    和对应Eclipse工程不一样的地方

    第一点

    原来mapper接口文件和xml放在同一个包中。

    这里在project视图中,在resource目录下新建mapper目录(注意新建的是directory),所有xml文件放到该目录下。

    然后在application.properties文件配置mapper的路径

    mybatis.mapper-locations=classpath:mapper/*xml
    spring.datasource.url=jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=123456

    第二点

    spriingboot2使用的mysql-connector-java

    是最新版8,所以驱动类名称由com.mysql.jdbc.Driver改成com.mysql.cj.jdbc.Driver,数据库名称后面需要接时区。

  • 相关阅读:
    打造自己的LINQ Provider(上):Expression Tree揭秘
    asp.net MVC 开篇
    .net面试基础
    asp.net MVC3.0
    数字万用表的四位半,三位半都是什么意思?
    lpsz,sz, 变量的命名规范
    老毛桃PE系统安装篡改主页3456.com和强制安装绿色浏览器lvseie.exe
    PC电源厂商及品牌篇(台厂及国际品牌篇)(第二版)
    Borland C++ 语法摘要
    Win8打开文件夹卡顿
  • 原文地址:https://www.cnblogs.com/legion/p/10037165.html
Copyright © 2020-2023  润新知