springboot结合mybatis实现查询
在springboot里面是如何使用mybatis的呢?一、在pom.xml中引入mybatis相关的jar包:<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><vers
在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();
}
九、如下:

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

返回成功,springboot结合mybatis成功了。
十、下面是项目的整体结构:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)