Springboot+MyBatis - 代码跑起来

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Utzw0p0985/article/details/79184646
640?wx_fmt=png

本文作者

640?wx_fmt=png

27

1-2018

zho007

博客:

https://www.jianshu.com/u/e9cb5fd3aaa8

声明:本文由作者 zho007 授权发布,未经原作者允许请勿转载

 看到上面蓝色字了吗,点下吧

640?wx_fmt=png

这里使用Idea创建项目

需求

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

数据库表结构

扫描二维码关注公众号,回复: 3268532 查看本文章

640?wx_fmt=png

创建项目

先看下最终的目录结构

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

如下截图如下例子:
640?wx_fmt=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基础配置

640?wx_fmt=png

配置Springboot主入口扫描mapper

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

640?wx_fmt=png

编写测试代码

  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 得到如下结果 ,我们的配置就算成功了

640?wx_fmt=png

640?wx_fmt=jpeg

刘某人程序员

个人微信:Android_LiuGuiLin

新浪微博:@刘某人程序员

640?wx_fmt=jpeg

看看我的分享

  长按二维码关注

640?wx_fmt=png 640?wx_fmt=png


猜你喜欢

转载自blog.csdn.net/Utzw0p0985/article/details/79184646