您的位置:首页 > 编程语言 > Java开发

springboot入门(二)初步集成mybatis

2016-10-25 18:50 786 查看
首先我的简单测试项目结构如下:



集成mybatis首先在pom.xml中添加相应的依赖。

<!--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>
</dependency>


在application.properties文件中添加相应的数据库连接配置:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/bbs?useUnicode=true&characterEncoding=utf8&autoReconnect=true
spring.datasource.username=root
spring.datasource.password=root


其中主函数类:

/**
*
*/
package com.xingguo.springboot;

import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.tomcat.jdbc.pool.DataSource;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;

/**
* @author diaoxingguo
*
*/
@SpringBootApplication
@MapperScan("com.xingguo.springboot.mapper")
public class Application {

@Bean
@ConfigurationProperties("spring.datasource")
public DataSource dataSource(){
return new DataSource();
}

@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());

PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));

return sqlSessionFactoryBean.getObject();
}

@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}


注意点:

@MapperScan(“com.xingguo.springboot.mapper”)改为相应的mapper文件所在的包名,扫描该包下的配置

@ConfigurationProperties(“spring.datasource”)因为springboot会自动获取application.properties的配置,这个是获取以spring.datasource开头的配置

resolver.getResources(“classpath:/mybatis/*.xml”)读取相应的sql文件

controller到service到dao,与springmvc相同。

直接上代码

UserController.java

package com.xingguo.springboot.controller;

/**
* Created by diaoxingguo on 2016/10/24.
*/

@Controller
public class UserController {

@Resource
private UserService userService;

@GetMapping("/getUserInfo")
@ResponseBody
public User getUserInfo() {
User user = userService.getUserInfo();
if(user!=null){
System.out.println("user.getUsername():"+user.getUsername());
}
return user;
}

}


public interface UserService {
public User getUserInfo();
}


@Service
public class UserServiceImpl implements UserService {

@Resource
private UserMapper userMapper;

public User getUserInfo(){
User user=userMapper.findUserInfo();
return user;
}
}


@Repository
public interface UserMapper {
public User findUserInfo();
}


<?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.xingguo.springboot.mapper.UserMapper">

<select id="findUserInfo" resultType="com.xingguo.springboot.model.User">
select username,state,password from t_user where id = 2
</select>

</mapper>


运行application.java
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis springboot 搭建