您的位置:首页 > 数据库 > Redis

spring boot 整合mybatis,redis,热部署

2018-05-22 08:05 886 查看
1.整合mybatis

(1) 配置yml文件: spring boot 配置自动配置注入数据源

server:
  port: 8090
#
#spring:
#  datasource:
#    druid:
#      url: jdbc:mysql://192.168.1.9:3306/ftt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
#      username: root
#      password: root
#      driver-class-name: com.mysql.jdbc.Driver

spring:
  datasource:
      url: jdbc:mysql://192.168.1.9:3306/ftt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
redis:   -- 针对redis配置
    port: 6379
database: 0
host: 192.168.1.5
jedis:
      pool:
        max-active: 8

mybatis:
          mapper-locations: classpath:mapping/*.xml
type-aliases-package: com.springboot.mapper
debug: true

(2)通过代码注入数据源,sqlSessionFactory

//@Configuration
public class MybatisConfig {

//    @Bean(name = "sqlSessionFactory")
//    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
//        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
//        bean.setDataSource(dataSource);
//        bean.setTypeAliasesPackage(" com.springboot.mappper");
//        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
//        bean.setMapperLocations(resolver.getResources("classpath:mapping/*.xml"));
//        return bean.getObject();
//    }

}

//@Configuration
public class DataConfig {

//    @Primary
//    @Bean(name="dataSource")
//    public DruidDataSource dataSource(){
//        DruidDataSource dataSource = new DruidDataSource();
//        dataSource.setUrl("jdbc:mysql://192.168.1.9:3306/ftt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false");
//        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
//        dataSource.setPassword("root");
//        dataSource.setUsername("root");
//        return dataSource;
//    }
}

后续代码整合:

@RestController
@RequestMapping("/person")
public class PersonController {

@Autowired
private PersonMapper personMapper;
@Autowired
private StringRedisTemplate redisTemplate;

@ResponseBody
@RequestMapping("/test")
public String test(){
return "测试成功99990000";
}

@ResponseBody
@RequestMapping("/getall")
public List<PersonEntity> getall(){
String s =  redisTemplate.opsForValue().get("ftt");
System.out.println(s);
return personMapper.getAll();
}
}

@SpringBootApplication
@MapperScan(basePackages = "com.springboot.mapper") //扫描mapper文件
public class DemoApplication {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}




pom.xml 文件:

@1 如果不引入数据源包:使用springboot 默认整合的数据源



@2 如果引入 druid-spring-boot-starter 1.1.0 版本存在缺陷,不要使用

会报org.springframework.beans.factory.UnsatisfiedDependencyException异常

使用springboot 整合的数据源,使用的是阿里巴巴的数据源



@3 使用阿里巴巴的数据源,spring boot 里面采用的还是默认的type=HikariDataSource



2.热部署 改动代码无需启动。只需要重新编译就可以访问改动后的代码

idea 设置:

1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。

2) 组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running” 。

mvn spring-boot:run

<!-- 热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 –>
</dependency>

3.整合redis

yml 配置:如上

pom引入 :

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

直接引入使用:

@Autowired
private StringRedisTemplate redisTemplate;

4.spring boot 默认使用的容器是tomcat
pom.xml 可以不引入

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

最初输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Boot redi MyBatis
相关文章推荐