ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringBoot 整合 MyBatis(附上查询用户案例)

2021-05-05 18:00:19  阅读:172  来源: 互联网

标签:附上 SpringBoot mybatis serious MyBatis import com public name


SpringBoot 整合 MyBatis(附上查询用户案例)

步骤

运行环境:

  • IdeaU 2021.1
  • MySQL 5.7
  • JDK 11
  1. 在Spring 官网提供的在线生成器,生成 SpringBoot 项目,下载解压

    地址:https://start.spring.io/

    选择JDK,填写相关信息,添加 JDBC依赖,MySQL驱动依赖,SpringWeb依赖

    Group:com.serious
    Artifact:springboot-mybatis
    Name:springboot-mybatis
    Description:Demo
    Package name:com.serious
    Packaging:Jar
    JDK:11
    

在这里插入图片描述
点击Generate,下载生成的文件

  1. IDEA打开解压的项目

    在Maven仓库找到 mybatis整合SpringBoot的依赖:

    <!--	 mybatis-spring-boot-starter: 整合	-->
    		<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
    		<dependency>
    			<groupId>org.mybatis.spring.boot</groupId>
    			<artifactId>mybatis-spring-boot-starter</artifactId>
    			<version>2.1.4</version>
    		</dependency>
    

    写到项目的pom.xml文件中

  2. 创建数据库springboot_mybatis

    create database springboot_mybatis;
    use springboot_mybatis;
    

    创建 user 表

    create table `user`(
        id int primary key ,
        `name` varchar(20),
        pwd varchar(20)
    );
    

    向 user 表中插入数据

    insert into user(id, `name`, pwd)
    values (1, '刘备', 'lb');
    insert into user(id, `name`, pwd)
    values (2, '孙尚香', 'ssx');
    insert into user(id, `name`, pwd)
    values (3, '孙权', 'sq');
    
  3. 编写数据库连接

    打开application.properties文件,顺便在resources目录下新建一个文件夹名为mybatis,然后在mybatis文件夹下再建一个文件夹,名为mapper,后面写的XXXmapper.xml文件就应该放到这个目录下

    # 配置数据库连接
    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.url=jdbc:mysql://localhost:3306/springboot_mybatis?useUnicode=true&characterEncoding=utf-8
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    
    # mybatis 整合
    # 设置别名
    mybatis.type-aliases-package=com.serious.pojo
    # 扫描mapper对应的xml文件
    mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
    
    
  4. 编写测试类

    package com.serious;
    
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import javax.sql.DataSource;
    
    @SpringBootTest
    class SpringbootMybatisApplicationTests {
    
    	@Autowired
    	DataSource dataSource;
    
    	@Test
    	void contextLoads() {
    		System.out.println("数据源是:" + dataSource.getClass());
    
    	}
    
    }
    
    
  5. 运行测试类
    在这里插入图片描述

  6. 在com.serious包下创建一个pojo包
    在pojo包下创建一个User类

package com.serious.pojo;

public class User {

    private Integer id;
    private String name;
    private String pwd;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}
  1. 在com.serious包下创建一个mapper包,
    在mapper包下新建一个UserMapper接口
package com.serious.mapper;

import com.serious.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserMapper {

    // 查询所有用户
    public List<User> queryAllUser();
}


  1. 在resources文件夹下的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.serious.mapper.UserMapper">

    <select id="queryAllUser" resultType="User">
        select * from user
    </select>

</mapper>
  1. 在com.serious包下创建一个service包,
    在service包下新建一个UserService接口和UserServiceImpl类
package com.serious.service;

import com.serious.pojo.User;

import java.util.List;

public interface UserService {

    // 查询所有用户
    public List<User> queryAllUser();
}


UserServiceImpl类

package com.serious.service;

import com.serious.mapper.UserMapper;
import com.serious.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService{

    @Autowired
    UserMapper userMapper;

    @Override
    public List<User> queryAllUser() {
        return userMapper.queryAllUser();
    }
}

11.编写测试类

package com.serious;

import com.serious.pojo.User;
import com.serious.service.UserServiceImpl;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class SpringbootMybatisApplicationTests {

	@Autowired
	UserServiceImpl userService;

	@Test
	void contextLoads() {

		List<User> userList = userService.queryAllUser();
		for (User user : userList){
			System.out.println(user);
		}

	}

}
  1. 结果
User{id=1, name='刘备', pwd='lb'}
User{id=2, name='孙尚香', pwd='ssx'}
User{id=3, name='孙权', pwd='sq'}

在这里插入图片描述

标签:附上,SpringBoot,mybatis,serious,MyBatis,import,com,public,name
来源: https://blog.csdn.net/weixin_46846929/article/details/116427604

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有