SpringBoot&MyBatis

添加依赖

<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>
		<!--mysql连接 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

注意:不需要的导入spring-boot-starter-jdbc依赖。在mybatis-spring-boot-starter中已经包含了此依赖。
mybatis-spring-boot-starter依赖会提供一下功能
自动检测现有的DataSource,如果没有引入第三方DataSource的依赖,会使用默认的。
创建并注册SqlSessionFactory的实例。该实例使用SqlSessionFactoryBean将该DataSource作为输入进行传递
创建并注册从SqlSessionFactory中获取的SqlSessionTemplate的实例
自动扫描mappers,将它们链接到SqlSessionTemplate并将其注册到Spring上下文,以便将它们注入到bean中
环境搭建

application.properties 配置文件配置

spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.type-aliases-package=com.hf.springboot.mybatis 

mybatis.mapper-locations 配置映射文件路径
mybatis.type-aliases-package 配置别名所在包
启动类

@SpringBootApplication
@MapperScan(basePackages= {"com.hf.springboot.mybatis"})
public class SpringBootMyBatisApplication {
 
	public static void main(String[] args) {
		SpringApplication.run(SpringBootMyBatisApplication.class, args);
	}
}

@MapperScan 配置扫描Mapper接口所在包
控制器

@Controller
public class UserController {
	@Autowired
	private UserService userService;
	@RequestMapping("/user")
	@ResponseBody
	public String index() {
		User user = userService.getUserById(2);
		return user.getName();
	}
}

业务层

@Service 
public class UserServiceImpl implements UserService,Serializable {
	private static final long serialVersionUID = 1L;
	@Autowired
	private UserMapper userMapper;
	@Override
	public User getUserById(Integer id) {
		// TODO Auto-generated method stub
		return userMapper.getUserById(id);
	}
}
Mapper接口
public interface UserMapper {
	User getUserById(Integer id);
}

映射文件

<?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.hf.springboot.mybatis.UserMapper">
	<resultMap id="userResultMap" type="User">
		<result column="id" property="id" jdbcType="INTEGER" />
		<result column="name" property="name" jdbcType="VARCHAR" />
	</resultMap>
	<sql id="Base_Column_List"> id, name  </sql>
	<select id="selectById" parameterType="java.lang.Integer"
		resultMap="userResultMap"> select * from t_user where id=#{id}  </select>
</mapper>

猜你喜欢

转载自blog.csdn.net/qq_32417777/article/details/83245122