黑马_13 Spring Boot:05.spring boot 整合其他技术

13 Spring Boot:

01.spring boot 介绍&&02.spring boot 入门

04.spring boot 配置文件

05.spring boot 整合其他技术

SpringBoot基础 


 

 五、SpringBoot与整合其他技术 

 5.1 SpringBoot整合Mybatis 

MySQL数据库版本: 8.0.17

 

        
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>    

 1、添加Mybatis的起步依赖 

 2、添加数据库驱动坐标

    <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>

        <!--SpingBoot集成junit测试的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--mybatis起步依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

        <!-- MySQL连接驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

    </dependencies>

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

 

 3、添加数据库连接信息
 在 application.properties 中添加数据量的连接信息  

project Encoding

为了避免.properties文件中文乱码,请按参考资料配置编码格式为UTF-8

 

#数据库连接信息
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

   

 在itheima数据库中创建user
 使用Navicat图形化界面连接软件

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

 插入测试数据 

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'zhangsan', '123', '张三');
INSERT INTO `user` VALUES ('2', 'lisi', '123', '李四');

 

 4、 在domain包:创建实体类
 

package com.itheima.domain;

public class User {

    private Long id;
    private String username;
    private String password;
    private String name;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", name='" + name + '\'' +
                '}';
    }
    //此处省略getter和setter方法

5、 编写DAO层的接口类

 IUserDao 

 

package com.itheima.mapper;

import com.itheima.domain.User;
import org.apache.ibatis.annotations.Mapper;


import java.util.List;

@Mapper
public interface IUserDao {

    public List<User> queryUserList();

}

 

 6、配置Mapper映射文件 

 在src/main/resources/com/itheima/mapper路径下加入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.itheima.mapper.IUserDao">
    <select id="queryUserList" resultType="user">
        select * from user
    </select>
</mapper>

 

 7、在application.properties中添加mybatis的信息 

#配置mybatis的信息
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.itheima.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:com/itheima/mapper/*Mapper.xml

 

 通过测试证明:spring boot 集成mybatis框架【DAO层接口+XML配置文件】, 在接口的public的关键字上一行要加注解 @Mapper

                         接口的文件名不一定必须和XML映射配置文件名一致,因为spring boot的 application*.properties里面有扫描 *Mapper.xml文件包的配置信息。

记录一个springboot 中集成 mybatis 的完整使用过程

 


 5.2 SpringBoot整合Junit4测试  

 1、添加包含Junit的起步依赖

        <!--springboot测试的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>


 2、编写测试类的基类 

@RunWith(SpringRunner.class)
@SpringBootTest(classes = MySpringBootApplication.class)
        public class MapperTest {
        @Autowired
        private UserMapper userMapper;
        @Test
        public void test() {
            List<User> users = userMapper.queryUserList();
            System.out.println(users);
        }

}

 

其中,SpringRunner继承自SpringJUnit4ClassRunner,使用哪一个Spring提供的测试测试引擎都可以。

public final class SpringRunner extends SpringJUnit4ClassRunner

 

@SpringBootTest 的classes属性 指定的是SpringBoot引导类(启动类)的字节码对象。

 

 

 

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

参考资料:

Idea之乱码解决

 

end

posted @ 2019-09-28 09:09  Marlon康  阅读(410)  评论(0编辑  收藏  举报