Springboot+MyBatis - 代码跑起来

这里使用Idea创建项目

需求

使用Springboot+mybatis+druid连接数据库查询一张表的所有数据

数据库表结构

Springboot+MyBatis - 代码跑起来_第1张图片
数据库表结构

创建项目

先看下最终的目录结构

Springboot+MyBatis - 代码跑起来_第2张图片
项目结构

使用IDea创建项目查看pom.xml文件中有没有添加这三个依赖

Springboot+MyBatis - 代码跑起来_第3张图片
pom依赖

使用Mybatis逆向工程生成如下文件

Springboot+MyBatis - 代码跑起来_第4张图片
逆向工程生成

修改mapper.xml文件吧导入对应的bean对象包

如下截图如下例子:


TIM截图20171123101256.png

配置Springboot的yml配置文件

  1. 数据源datasource
  2. 配置Druid
@Configuration
public class DruidConfig {
    @Autowired
    private Environment env;

    //destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用.
    @Bean(destroyMethod = "close")
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(env.getProperty("spring.datasource.url"));
        dataSource.setUsername(env.getProperty("spring.datasource.username"));//用户名
        dataSource.setPassword(env.getProperty("spring.datasource.password"));//密码
        dataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
        dataSource.setInitialSize(2);//初始化时建立物理连接的个数
        dataSource.setMaxActive(20);//最大连接池数量
        dataSource.setMinIdle(0);//最小连接池数量
        dataSource.setMaxWait(60000);//获取连接时最大等待时间,单位毫秒。
        dataSource.setValidationQuery("SELECT 1");//用来检测连接是否有效的sql
        dataSource.setTestOnBorrow(false);//申请连接时执行validationQuery检测连接是否有效
        dataSource.setTestWhileIdle(true);//建议配置为true,不影响性能,并且保证安全性。
        dataSource.setPoolPreparedStatements(false);//是否缓存preparedStatement,也就是PSCache
        return dataSource;
    }
}

  1. mybatis基础配置
Springboot+MyBatis - 代码跑起来_第5张图片
yml文件配置

配置Springboot主入口扫描mapper

当然你可以每一个mapper都加一个注解@mapper.这里我是把所有mapper放在一个包下面。直接扫描整个包里面的所有mapper

Springboot+MyBatis - 代码跑起来_第6张图片
springboot主入口扫描mapper包

编写测试代码

  1. service代码编写
@Service
public class TestServiceImpl implements TestService {

    @Autowired
    TbConfigInfoMapper mapper;//注入mapper

    @Override
    public List getBanner() {
        //查询所有
        List list = mapper.selectByExample(new TbConfigInfoExample());
        return list;
    }
}
  1. controller代码编写
@Controller
public class TestController {
    @Autowired
    TestService testService;

    @RequestMapping("/banner")
    @ResponseBody
    public Map test() {
        Map map = new HashMap<>();
        map.put("message", 100);
        List banner = testService.getBanner();
        map.put("data", banner);
        return map;
    }
}

运行测试

我们将项目跑起来 输入 localhost:8080/banner 得到如下结果 ,我们的配置就算成功了


TIM截图20171123101912.png

你可能感兴趣的:(Springboot+MyBatis - 代码跑起来)