Spring boot配置mybatis
1.在pom.xml中添加依赖
<dependency>
//mybatis框架要使用mysql和java的连接,进行数据传输。 <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency>
//引入mybatis框架,starter会自己引入很多文件。 <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
思考:在pom.xml中写了两个dependency就可以了吗?它干了什么?
结果:每次写完denpendency后保存,eclipse就会自动下载包:,速度还行,十分方便。
2.在application.properties文件中配置数据库地址
1 spring.datasource.url=jdbc:mysql://localhost:3306/first_db 2 spring.datasource.username=root 3 spring.datasource.password=yu116107
//mybatis-config.xml里面包含一些加速的配置信息。
4 mybatis.config-location=classpath:mybatis-config.xml
解释:
1.jdbc是连接协议,mysql是子协议,localhost是数据库地址,3306是端口号,first_db是数据库名。
2.username和password是数据库的用户名和密码。
3.项目在运行的时候,java会自己配置地址。resources在java配置的路径下面,这样通过classpath就会自动找到mybatis-config.xml文件。
3.mybatis-config.xml文件配置
mybatis-config.xml功能是可以提供更加全面的mybatis配置信息:
1 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> 2 <configuration> 3 <!-- 全局参数 --> 4 <settings> 5 <!-- 使全局的映射器启用或禁用缓存。 --> 6 <setting name="cacheEnabled" value="true"/> 7 <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。 --> 8 <setting name="lazyLoadingEnabled" value="true"/> 9 <!-- 当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载。 --> 10 <setting name="aggressiveLazyLoading" value="true"/> 11 <!-- 是否允许单条sql 返回多个数据集 (取决于驱动的兼容性) default:true --> 12 <setting name="multipleResultSetsEnabled" value="true"/> 13 <!-- 是否可以使用列的别名 (取决于驱动的兼容性) default:true --> 14 <setting name="useColumnLabel" value="true"/> 15 <!-- 允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。 default:false --> 16 <setting name="useGeneratedKeys" value="true"/> 17 <!-- 指定 MyBatis 如何自动映射 数据基表的列 NONE:不隐射 PARTIAL:部分 FULL:全部 --> 18 <setting name="autoMappingBehavior" value="PARTIAL"/> 19 <!-- 这是默认的执行类型 (SIMPLE: 简单; REUSE: 执行器可能重复使用prepared statements语句;BATCH: 执行器可以重复执行语句和批量更新) --> 20 <setting name="defaultExecutorType" value="SIMPLE"/> 21 <!-- 使用驼峰命名法转换字段。 --> 22 <setting name="mapUnderscoreToCamelCase" value="true"/> 23 <!-- 设置本地缓存范围 session:就会有数据的共享 statement:语句范围 (这样就不会有数据的共享 ) defalut:session --> 24 <setting name="localCacheScope" value="SESSION"/> 25 <!-- 设置但JDBC类型为空时,某些驱动程序 要指定值,default:OTHER,插入空值时不需要指定类型 --> 26 <setting name="jdbcTypeForNull" value="NULL"/> 27 </settings> 28 <plugins> 29 <plugin interceptor="com.github.pagehelper.PageHelper"> 30 <property name="dialect" value="mysql"/> 31 <property name="offsetAsPageNum" value="false"/> 32 <property name="rowBoundsWithCount" value="false"/> 33 <property name="pageSizeZero" value="true"/> 34 <property name="reasonable" value="false"/> 35 <property name="supportMethodsArguments" value="false"/> 36 <property name="returnPageInfo" value="none"/> 37 </plugin> 38 </plugins> 39 </configuration>
mybatis-config.xml应该与aplication.properties放到同一个文件下。