• Spring+Mybatis创建简单项目


    创建项目

    • New Project,选择Spring Initiallizr,点击Next
    • 输入Group:com.example,输入Artifact:mybatisdemo,选择Java Version 8,点击Next
    • 选择Web的Spring Web,SQL的MyBatis Framework和MS Sql Server Driver,点击Next

    准备数据

    CREATE TABLE Article(
        id          INT IDENTITY PRIMARY KEY,
        title       VARCHAR(100) NOT NULL,
        author      VARCHAR(100) NOT NULL
    );
    INSERT INTO Article
    VALUES ('Working with MyBatis in Spring', 'Baeldung');
    INSERT INTO Article
    VALUES ('Java编程思想', '张三');
    

    添加配置

    resources下面添加application.yml文件

    spring:
      datasource:
        name: mssqlDB
        url: jdbc:sqlserver://localhost:1433;databaseName=OnLineDB
        username: sa
        password: sa
        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
    mybatis:
      mapper-locations: classpath:mapper/*.xml
    

    注意:却下pom.xml的依赖是否包含如下,如果没有拷贝进去

            <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.2</version>
            </dependency>
    
            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <scope>runtime</scope>
            </dependency>
    

    添加实体层

    • 右击项目com.example.mybatisdemo,添加Java Class
    • 输入entity.Article
    public class Article {
        private Integer id;
    
        private String title;
    
        private String author;
    
        private static final long serialVersionUID = 1L;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getTitle() {
            return title;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    }
    

    添加DAO层

    • com.example.mybatisdemo添加Package:dao
    • dao下面添加接口ArticleDao
    @Mapper
    public interface ArticleDao {
        Article getArticleById(int id);
    
        int createArticle(Article article);
    
        int updateAritcle(Article article);
    }
    
    • resources下面添加mapper文件夹
    • mapper添加文件ArticleMapper.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.example.mybatisdemo.dao.ArticleDao">
        <select id="getArticleById" resultType="com.example.mybatisdemo.entity.Article">
            select * from Article where id = #{id}
        </select>
        <insert id="createArticle" parameterType="com.example.mybatisdemo.entity.Article" keyProperty="id" useGeneratedKeys="true">
            insert into Article
            (title, author) values (#{title}, #{author})
        </insert>
        <update id="updateAritcle" parameterType="com.example.mybatisdemo.entity.Article">
            update Article
            set title = #{title}, author = #{author}
            where id = #{id}
        </update>
    </mapper>
    

    添加服务层

    • 添加Package:service
    • 里面添加接口:ArticleService
    public interface ArticleService {
        Article getArticleById(int id);
    
        int createArticle(Article article);
    
        int updateAritcle(Article article);
    }
    
    

    添加服务实现

    • 添加实现:service下面添加Package:impl
    • 添加类:ArticleServiceImpl
    @Service
    public class ArticleServiceImpl implements ArticleService {
        @Autowired
        private ArticleDao articleDao;
    
        @Override
        public Article getArticleById(int id) {
            return articleDao.getArticleById(id);
        }
    
        @Override
        public int createArticle(Article article) {
            return articleDao.createArticle(article);
        }
    
        @Override
        public int updateAritcle(Article article) {
            return articleDao.updateAritcle(article);
        }
    }
    
    

    添加控制器

    • com.example.mybatisdemo添加Package:controller
    • 添加控制器:ArticleController
    @RestController
    @RequestMapping("/article")
    public class ArticleController {
        @Autowired
        private ArticleService articleService;
    
        @GetMapping("/getHello")
        @ResponseBody
        public String getHello() {
            return "Hello";
        }
    
        @GetMapping("/getArticleById/{id}")
        @ResponseBody
        public Article getArticleById(@PathVariable int id) {
            return this.articleService.getArticleById(id);
        }
    
        @PostMapping("/createArticle/{id}")
        @ResponseBody
        public int createArticle(@RequestBody Article article) {
            return this.articleService.createArticle(article);
        }
    
        @PutMapping("/updateAritcle/{id}")
        @ResponseBody
        public int updateAritcle(@PathVariable int id, @RequestBody Article article) {
            article.setId(id);
            return this.articleService.updateAritcle(article);
        }
    }
    

    运行项目

    访问:http://localhost:8080/article/getArticleById/1

  • 相关阅读:
    Web Api:基于RESTful标准
    C#:导入Excel通用类(Xls格式)
    C#:导入Excel通用类(Xlsx格式)
    Selenium---Python3---下拉框选择处理
    Selenium---Python3---弹框处理
    Selenium---设置等待时间
    Selenium---Python3--获取网页url/获取网页title
    Selenium---键盘事件---Python3
    Selenium---鼠标事件---Python3
    Selenium---Python3---常见方法
  • 原文地址:https://www.cnblogs.com/honzhez/p/13479642.html
Copyright © 2020-2023  润新知