这里使用Idea创建项目
需求
使用Springboot+mybatis+druid连接数据库查询一张表的所有数据
数据库表结构
创建项目
先看下最终的目录结构
使用IDea创建项目查看pom.xml文件中有没有添加这三个依赖
使用Mybatis逆向工程生成如下文件
修改mapper.xml文件吧导入对应的bean对象包
如下截图如下例子:
配置Springboot的yml配置文件
- 数据源datasource
- 配置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;
}
}
- mybatis基础配置
配置Springboot主入口扫描mapper
当然你可以每一个mapper都加一个注解@mapper.这里我是把所有mapper放在一个包下面。直接扫描整个包里面的所有mapper
编写测试代码
- 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;
}
}
- 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 得到如下结果 ,我们的配置就算成功了