zoukankan      html  css  js  c++  java
  • springboot整合mybatis-高效篇

    1、导入依赖

    <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.2</version>
            </dependency>

    2、在配置文件中配置数据库连接信息

    #DB Configation
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/users
    spring.datasource.username=root
    spring.datasource.password=root
    # JPAConfiguration
    spring.jpa.database=MySQL
    spring.jpa.show-sql=true
    spring.jpa.generate-ddl=true

    或者:在yml配置文件中格式如下(仅mybatis)

    spring:
      datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/users
        username: root
        password: root

    3、创建数据库对应实体类

    在这使用了lombook插件,省略了set,get等方法

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @ToString
    public class Muser implements Serializable {
        private int uid;
        private String uname;
        private String pwd;
    }
    4、写对应操作的mapper接口以及sql映射文件
    public interface UserMapper  {
        List<Muser> getAll();
    }
    <?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.ghh.staticdemo.mapper.UserMapper">
        <select id="getAll" resultType="com.ghh.staticdemo.pojo.Muser">
        select * from users
      </select>
    </mapper>

    注意更改namespace以及selcet的id属性

    5、在启动类上加注解

    @MapperScan("需要扫描的包"),相当于ssm框架中spring中的两个配置文件,SqlSessionfactory和mapperScannerConfigure两个bean对象
    @SpringBootApplication
    @MapperScan("com.ghh.staticdemo.mapper") //配置需要扫描的mapper接口所在包下
    public class StaticdemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(StaticdemoApplication.class, args);
        }
    }
    6、在controller层注入mapper接口,获取其代理类对象
    @Resource
        private UserMapper userMapper;
    
    @GetMapping("findAll")
    public ModelAndView getAll(){
            ModelAndView mv = new ModelAndView("user");
            List<Muser> list =  userMapper.getAll();
            mv.addObject("userList",list);
            return mv;
        }  

    至此配置完成

    但我们在启动项目去访问时,会报找不到映射文件

    1、需要我们在pom文件中配置一下代码避免打包时java目录下的XML文件被自动忽略掉:

    <build>
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.*</include>
                    </includes>
                    <filtering>false</filtering>
                </resource>
            </resources>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>

    2、或者在resources文件夹下创建与对应mapper接口相同文件路径的包下

  • 相关阅读:
    Codeforces 992C(数学)
    Codeforces 990C (思维)
    Codeforces 989C (构造)
    POJ 1511 Invitation Cards(链式前向星,dij,反向建边)
    Codeforces 1335E2 Three Blocks Palindrome (hard version)(暴力)
    POJ 3273 Monthly Expense(二分)
    POJ 2566 Bound Found(尺取前缀和)
    POJ 1321 棋盘问题(dfs)
    HDU 1506 Largest Rectangle in a Histogram(单调栈)
    POJ 2823 Sliding Window(单调队列)
  • 原文地址:https://www.cnblogs.com/guanyuehao0107/p/11800455.html
Copyright © 2011-2022 走看看