spring数据库

配置h2默认数据库

因为h2是内嵌式数据库,所以只要引入相关依赖,我们就可以在不使用任何配置数据库的情况下运行Spring Boot工程了

<dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

   <groupId>com.h2database</groupId>

   <artifactId>h2</artifactId>

   <scope>runtime</scope>

</dependency>

配置MySQL的依赖(需要删除对hibernate的依赖包)

<dependency>

   <groupId>mysql</groupId>

   <artifactId>mysql-connector-java</artifactId>

</dependency>

<dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

配置MySQL数据源

spring.datasource.url=jdbc:mysql://localhost:3306/chapter5

spring.datasource.username=root

spring.datasource.password=123456

#spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#最大等待连接中的数量,0 为没有限制

#根据需要配置数据源的属性,因为使用的是Tomcat自带的数据库连接池,所以可以看到很多配置的代码中带有tomcat字样。

spring.datasource.tomcat.max-idle=10

#最大连接活动数

spring.datasource.tomcat.max-active=50

#最大等待毫秒数, 单位为 ms, 超过时间会出错误信息

spring.datasource.tomcat.max-wait=10000

#数据库连接池初始化连接数

spring.datasource.tomcat.initial-size=5

虽然这里注释掉了驱动类的配置,但是它还是可以连接数据源的,这是因为Spring Boot会尽可能地去判断数据源是什么类型的,然后根据其默认的情况去匹配驱动类。在它不能匹配的情况下,你可以明确地配置它,这样就不会使用默认的驱动类了。

整合MyBatis框架

MyBatis是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。

引入关于MyBatis的starter

<dependency>

   <groupId>org.mybatis.spring.boot</groupId>

   <artifactId>mybatis-spring-boot-starter</artifactId>

   <version>1.3.1</version>

</dependency>

MyBatis的配置

mybatis配置结构图
在这里插入图片描述

  • properties(属性):属性文件在实际应用中一般采用Spring进行配置,而不是MyBatis,所以这里不再介绍它的使用。

  • settings(设置):它的配置将改变MyBatis的底层行为,可以配置映射规则,如自动映射和驼峰映射、执行器(Executor)类型、缓存等内容,比较复杂,具体配置项可参考MyBatis官方网站(http://www.mybatis.org/mybatis-3/zh/configuration.html#settings)。

  • ** typeAliases(类型别名)**:因为使用类全限定名会比较长,所以MyBatis会对常用的类提供默认的别名,此外还允许我们通过typeAliases配置自定义的别名。

  • typeHandlers(类型处理器):这是MyBatis的重要配置之一,在MyBatis写入和读取数据库的过程中对于不同类型的数据(对于Java是JavaType,对于数据库则是JdbcType)进行自定义转换,在大部分的情况下我们不需要使用自定义的typeHandler,因为在MyBatis自身就已经定义了比较多的typeHandler,MyBatis会自动识别javaType和jdbcType,从而实现各种类型的转换。一般来说,typeHandler的使用集中在枚举类型上。

  • objectFactory(对象工厂):这是一个在MyBatis生成返回的POJO时会调用的工厂类。一般我们使用MyBatis默认提供的对象工厂类(DefaultObjectFactory)就可以了,而不需要任何配置,所以本书不讨论它。

  • plugins(插件):有时候也称为拦截器,是MyBatis最强大也是最危险的组件,它通过动态代理和责任链模式来完成,可以修改MyBatis底层的实现功能。掌握它需要比较多的MyBatis知识,可参考相关的书籍和资料。

  • environments(数据库环境):可以配置数据库连接内容和事务。一般而言,这些交由Spring托管,所以不再讨论它。

  • databaseIdProvider(数据库厂商标识):允许MyBatis配置多类型数据库支持,不常用,不再讨论它的使用。

  • mappers(映射器):是MyBatis最核心的组件,它提供SQL和POJO映射关系,这是MyBatis开发的核心

MyBatis常用的配置

#定义Mapper的XML路径

mybatis.mapper-locations=......

#定义别名扫描的包,需要与@Alias联合使用

mybatis.type-aliases-package=......

#MyBatis配置文件,当你的配置比较复杂的时候,可以使用它

mybatis.config-location=......

#配置MyBaits插件(拦截器)

mybatis.configuration.interceptors= ......

#具体类需要与@MappedJdbcTypes联合使用

mybatis.type-handlers-package=......

#级联延迟加载属性配置

mybatis.configuration.aggressive-lazy-loading=......

#执行器(Executor),可以配置SIMPLE, REUSE, BATCH,默认为SIMPLE

mybatis.executor-type=......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值