springboot结合mybatis实现查询

在springboot里面是如何使用mybatis的呢?

一、在pom.xml中引入mybatis相关的jar包:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

二、mybatis连接数据库的数据源信息在哪里面配置呢?到目前为止我们还没有配置过任何的xml文件,在springboot里面也有配置文件,放置在src/main/resources目录下,叫做application.yml或者application.properties,因为我们前面几节课都没有必要涉及到它,因此到现在用到了,我们才再提出来。新建application.yml,在里面配置数据源的信息:

spring:

  datasource:

      driver-class-name: com.mysql.jdbc.Driver

      url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8

      username: root

      password: root

三、在未使用springboot的时候,mybatis的mapper.xml文件在spring中是通过org.mybatis.spring.SqlSessionFactoryBean这个bean的mapperLocations属性来指定的,那么在springboot中又该怎么指定呢?需要在application.yml中指定一下mybatis的xxxMapper文件所在路径:

mybatis:

    mapper-locations: classpath*:mapper/*Mapper.xml 

四、新建接口com.roadjava.sb.dao.UserMapper.java,在以前没有使用springboot的时候,我们知道需要通过org.mybatis.spring.mapper.MapperScannerConfigurer这个类扫描的basePackage的方式来找到接口UserMapper.java,并由mybatis来生成实现,现在没有xml配置文件,该怎么让办呢,使用@Mapper注解即可:

package com.roadjava.sb.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
	public List<Map<String, Object>> getUsers(Map<String, Object> paramMap);
}

五、新建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.roadjava.sb.dao.UserMapper">
  <select id="getUsers"  parameterType="java.util.Map" resultType="java.util.Map">
          select * from userinfo 
          <where>
          	<if test='userName!=null and userName!=""'>
          		 name=#{userName}
          	</if>
          </where>
    </select>   
</mapper>

六、新增UserService接口:

package com.roadjava.sb.service;

import java.util.List;
import java.util.Map;

public interface UserService {
	public List<Map<String, Object>> getUsers();
}

七。新增UserService接口的实现类:

package com.roadjava.sb.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.roadjava.sb.dao.UserMapper;
import com.roadjava.sb.service.UserService;
@Service
public class UserServiceImpl implements UserService {
	@Resource
	private UserMapper userMapper;
	@Override
	public List<Map<String, Object>> getUsers() {
		Map<String, Object> paramMap=new HashMap<>();
		paramMap.put("userName", "xiao明");
		List<Map<String, Object>> users = userMapper.getUsers(paramMap);
		return users;
	}
}

八、在UserHandler中新增@requestmapping映射方法:

@RequestMapping("/selectUsers")  @ResponseBody
	public List<Map<String, Object>> selectUsers(){
		return userService.getUsers();
	}

九、如下:

image.png

点击超链接点击查询,结果如图:

image.png

返回成功,springboot结合mybatis成功了。

十、下面是项目的整体结构:

image.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值