<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> </dependencies> </plugin>
這裏須要加上mysql驅動的依賴,我第一次沒有加,而後自動生成就一直報錯。java
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--數據庫鏈接信息--> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ssmweb?useSSL=false&serverTimezone=UTC" userId="root" password="123456"> </jdbcConnection> <!--是否應強制對DECIMAL和NUMERIC字段使用java.math.BigDecimal--> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!--配置自動生成Model(entity)--> <javaModelGenerator targetPackage="com.example.demo.model" targetProject="E:\intellij_idea\liull\springbootmybatisdemo\src\main\java"> <!--<property name="enableSubPackages" value="true" />--> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--配置自動生成Mapper映射文件--> <sqlMapGenerator targetPackage="mapper" targetProject="E:\intellij_idea\liull\springbootmybatisdemo\src\main\resources"> </sqlMapGenerator> <!--配置自動生成dao--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="E:\intellij_idea\liull\springbootmybatisdemo\src\main\java"> </javaClientGenerator> <!--配置表信息及類信息--> <table schema="ssmweb" tableName="emp" domainObjectName="Emp" > <generatedKey column="emp_id" sqlStatement="MySql" identity="true" /> </table> </context> </generatorConfiguration>
這裏注意:在上面pom.xml中配置的mybatis-generator-maven-plugin插件,是默認加載/src/main/resources/目錄下名爲generatorConfig.xml。mysql
雙擊插件便可運行。web
運行後目錄:spring
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ssmweb?useSSL=false&serverTimezone=UTC username: root password: 123456 #mybatis配置 mybatis: mapper-locations: classpath:mapper/*.xml
須要配置mapper映射文件位置,否則映射類沒法找到映射文件位置,運行會報錯。sql
在springboot啓動類上添加@MapperScan註解數據庫
@MapperScan(basePackages = {"com.example.demo.dao"}) @SpringBootApplication public class SpringbootmybatisdemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootmybatisdemoApplication.class, args); } }
service:springboot
@Service public class EmpService { @Autowired private EmpMapper empMapper; public List<Emp> getAll(){ return empMapper.selectByExample(null); } }
controller:mybatis
@RestController public class EmpController { @Autowired private EmpService empService; @GetMapping("/emps") public List<Emp> getAll(){ return empService.getAll(); } }
結果:app