SpringBoot之整合Mybatis

一:什么是Mybatis。

mybatis官方网站(http://www.mybatis.org/mybatis-3/zh/index.html)中是这样描述的:

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

相信已经有很多朋友用过,或者是正在使用mybatis了,那么接下来我们就整合到Spring boot中去吧。

如果你不了解spring boot,请看一下,我的spring boot简单示例文章吧:目录 , SpringBoot之简单入门

二:开始搭建

1,打开eclipse。依次点击 File -> New -> Other。选择 Spring Starter Project ,然后Next

2.填写项目信息,然后Next

3.选择Spring boot版本,在编写这篇文章的时候,spring boot的最新版本是2.0.5,所以就使用了这个版本。

4.选择项目依赖,选择web,mysql驱动包,mybatis

5.最后点击Finish。等待一会,项目就创建完成了。创建好的项目目录如下:

我们也来看一下pom.xml中的内容:可以看到,mysql的驱动包和mybatis已经有了。

<?xml version="1.0" encoding="UTF-8"?>


4.0.0

<groupId>com.zcz</groupId>
<artifactId>learnSpringBootWithMybatis2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>learnSpringBootWithMybatis2</name>
<description>learnSpringBootWithMybatis</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.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>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>

6.接下来就要写代码了。新建controller,entity,dao,servcie,service.impl包。在资源文件夹中新建mapper包。在资源文件夹中新建application.yml文件。新建完成后的文件目录如下图:

7.编写application.yml配置文件。内容如下

复制代码

默认使用开发配置

spring:
profiles:
active: dev

#配置mybatis参数
mybatis:
type-aliases-package: com.zcz.entity
mapper-locations: classpath:mapper/*.xml


#开发配置
spring:
profiles: dev

datasource:
url: jdbc:mysql://localhost:3306/learnspringbootwithmybatis
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123

8.新建数据库learnspringbootwithmybatis,并在数据库中新建表user

9.在entity包中新建User类,代码如下:

package com.zcz.entity;

public class User {
private int id;
private String name;
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;
}

}

10.在dao中,新建UserDao接口类,并添加@Mapper注解,代码如下:

类中用到了@Mapper注解,如果你不了解他们的用法和意义的话可以参考 常用注解记录

package com.zcz.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.zcz.entity.User;

@Mapper
public interface UserDao {
public List findAllUser();
}

11.在service中新建UserService 接口,代码如下:

package com.zcz.service;

import java.util.List;

import com.zcz.entity.User;

public interface UserService {
public List getUsers();
}

12.在service.impl中新建UserServiceImpl实现类,实现UserService接口,添加@Service注解,代码如下:

类中用到了@Service,@Autowired注解,如果你不了解他们的用法和意义的话可以参考 常用注解记录

package com.zcz.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zcz.dao.UserDao;
import com.zcz.entity.User;
import com.zcz.service.UserService;

@Service
public class UserServiceImpl implements UserService {

@Autowired
private UserDao userDao;

@Override
public List<User> getUsers() {
    // TODO Auto-generated method stub
    return userDao.findAllUser();
}

}

13.在controller中新建UserController类,并配置访问路径,代码如下:

类中用到了@RestController,@RequestMapping注解,如果你不了解他们的用法和意义的话可以参考 常用注解记录

package com.zcz.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.zcz.entity.User;
import com.zcz.service.UserService;

@RestController
@RequestMapping("/user")
public class UserController {

@Autowired
private UserService userService;

@RequestMapping("/getUser")
public List<User> getUsers(){
    return userService.getUsers();
}

}

14,在mapper中新建UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<select id="findAllUser" resultType="com.zcz.entity.User">
    select id,name from user
</select>

15,修改数据库,添加两天记录

16,进入LearnSpringBootWithMybatis2Application类中,鼠标右键:Run as -> Spring Boot App。启动项目。并访问http://localhost:8080/user/getUser

17,好了,本次Spring Boot 整合Mybatis的过程就只有这些了。虽然这只是一个简单的配置,但是我们成功了,不是吗?

大家也发现了,这里只有一个查询的功能,接下来我将继续实现增,删,改的内容。在这里:SpringBoot之整合Mybatis(增,改,删)。

18,我把源代码上传到了github仓库:https://github.com/ZCC1/learnSpringBootWithMybatis2.git。可以clone下来参考。欢迎star。

加Java架构师进阶交流群获取Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限 都是大牛带飞 让你少走很多的弯路的 群.号是 338549832 对了 小白勿进 最好是有开发经验
注:加群要求

1、具有工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

猜你喜欢

转载自blog.csdn.net/QQ2646277390/article/details/82775996