SpringBoot默认使用的数据是org.apache.tomcat.jdbc.pool.DataSource,SpringBoot默认可以支持org.apache.tomcat.jdbc.pool.DataSource、HikariDataSource、BasicDataSource,若要修改数据源的类型,在配置文件中添加spring.datasource.type属性即可。
在resource目录下,创建schema-*.sql、data-*sql的建表语句,在SpringBoot启动时,就会执行命令。或者指定spring.datasource.schema=- classpath:a.sql可以自定义名建表语句。
SpringBoot自动配置了JdbcTemplate去操作数据库。
指定spring.datasource.type为com.alibaba.druid.pool.DruidDataSource即可。
@Configuration public class DruidConfig { //配置数据源,或在application.yml中指定spring.datasource.type @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druid() { return new DruidDataSource(); } //配置Druid的监控 //1、配置一个管理后台的Servlet @Bean public ServletRegistrationBean statViewServlet() { ServletRegistrationBean bean = new ServletRegistrationBean(); bean.setServlet(new StatViewServlet()); bean.addUrlMappings("/druid/*"); Map<String, String> initParams = new HashMap<>(); initParams.put("loginUserName", "admin"); initParams.put("loginPassword", "admin"); //设置白名单 initParams.put("allow", ""); //设置黑名单 initParams.put("deny", ""); bean.setInitParameters(initParams); return bean; } //2、配置一个web监控的filter @Bean public FilterRegistrationBean webStatFilter(){ FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); bean.setUrlPatterns(Arrays.asList("/*")); Map<String, String> initParams = new HashMap<>(); initParams.put("exclusions","*.js,*.css,/druid/*"); bean.setInitParameters(initParams); return bean; } }添加依赖:
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> @Mapper指定这个文件是一个操作数据库的Mapper,并不能使该Mapper添加到IOC容器中,需要在启动类上添加注解MapperScan()扫描该包。
设置支持驼峰mybatis.configuration.map-underscore-to-camel-case=true。
配置完这些后在Service层就可以直接操作持久层了,JPA和通用xMapper很像,但支持一对多,多对多…这种会更好。因为JPA的作者也是Hibernate的作者,所以JPA用到了很多Hibernate的注解,后面我将写一遍详细关于JPA的使用。