本文紧接spring boot入门(二)
有的同学要问spring boot自带数据库操作,为什么还要用mybatis等第三方持久层框架?因为spring boot自带的数据库操作只是最基础的操作并不全面,稍微复杂的操作处理起来就不是那么方便了,因此我们引入了第三方框架。
1.引入mybatis的pom依赖,代码如下:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
2.创建SqlSessionFactoryConfig的spring boot配置类,代码如下:
@SpringBootConfiguration
public class SessionFactoryConfiguration {
@Autowired
private DataSource dataSource;
public SqlSessionFactoryBean createSqlSessionFactory(){
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
return factoryBean;
}
}
3.创建dao包,在此包下创建UserDao Mapper 接口,代码如下:
@Mapper
public interface UserDao {
@Select("select * from springuser where id = #{id}")
public User selectUser(String id);
}
4.创建service包,在此包下创建userService接口和userServiceImpl实现类,userService代码如下:
public interface UserService {
public User getUser(String id);
}
userServiceImpl的代码如下:
@Service
@MapperScan("com.yxc.dao")
public class UserServiceImpl implements UserService{
@Autowired
private UserDao userDao;
@Override
public User getUser(String id) {
User user = userDao.selectUser(id);
return user;
}
}
5.在TestController中写测试接口,代码如下:
@Autowired
private UserService service;
@RequestMapping("/getUser")
public User getUser(String id){
return service.getUser(id);
}
6.测试结果:
7.注意:Dao接口要加Mapper注解;Dao的依赖类需要添加MapperScan("xxx")才能扫描到Dao接口。