Springboot+MyBatis - 代码跑起来

这里使用Idea创建项目

需求

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

数据库表结构

数据库表结构

创建项目

先看下最终的目录结构

项目结构

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

pom依赖

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

逆向工程生成

修改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基础配置
yml文件配置

配置Springboot主入口扫描mapper

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

springboot主入口扫描mapper包

编写测试代码

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

    @Autowired
    TbConfigInfoMapper mapper;//注入mapper

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

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

运行测试

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


TIM截图20171123101912.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Spring MVC+Mybatis),但是发现配...
    Raye阅读 6,574评论 15 79
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,708评论 0 4
  • #日记迎春20160324日行一善 有外地学员行程有些变动,接洽联络好,请小伙伴帮忙订车; 清点好开课的用品,插花...
    静俭阅读 156评论 0 0