Suivre les dépendances officielles du code ne suffit pas. Le fichier pom maven doit être complété ici.
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
Ici, nous utilisons toujours mysql comme base de données de test. FM (abréviation de fluent mybatis) peut prendre en charge de nombreux types de bases de données. Nous n'envisagerons pas d'autres bases de données pour le moment.
Ajoutez la configuration de la base de données mysql dans le fichier application.properties L'utilisation du pool de connexions Druid sera abordée dans les chapitres suivants. Vous pouvez également utiliser application.yml, ceci est facultatif.
spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://192.168.0.108:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Ajoutez le code de test au package de test, principalement pour effectuer un simple test d'insertion de données.
Le code est le suivant :
package com.hy.fmp.test; import com.hy.fmp.Application; import com.hy.fmp.fluent.entity.TestFluentMybatisEntity; import com.hy.fmp.fluent.mapper.TestFluentMybatisMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.Date; @SpringBootTest(classes = Application.class) public class InsertTest { @Autowired TestFluentMybatisMapper testFluentMybatisMapper; @Test public void testInsertDefaultValue() { // 插入数据 testFluentMybatisMapper.insert( new TestFluentMybatisEntity() .setAge(18) .setName("法外狂徒张三") .setCreateTime(new Date()) .setDelFlag(0)); } }
Instructions :
1 Notez que TestFluentMybatisMapper est la classe mappeur dans le package cible.
2. L'entité table TestFluentMybatisEntity peut être écrite en code chaîne.
@Accessors( chain = true )
Le mappeur numérisé est également le répertoire du mappeur dans le package cible
@SpringBootApplication @MapperScan({"com.hy.fmp.fluent.mapper"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Testons le code inséré
J'ai trouvé une exception signalée ici, ajustez le code, ajoutez une classe de configuration.
Le code est le suivant, en ajoutant l'injection MapperFactory.
package com.hy.fmp.config; import cn.org.atool.fluent.mybatis.spring.MapperFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class ApplicationConfig { // @Bean("dataSource") // public DruidDataSource newDataSource() { // return DataSourceCreator.create("datasource"); // } // // @Bean // public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception { // SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); // bean.setDataSource(newDataSource()); // ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); // // 以下部分根据自己的实际情况配置 // // 如果有mybatis原生文件, 请在这里加载 // bean.setMapperLocations(resolver.getResources("classpath*:mapper/*.xml")); // /* bean.setMapperLocations( // /* new ClassPathResource("mapper/xml1.xml"), // /* new ClassPathResource("mapper/xml2.xml") // /* ); // */ // org.apache.ibatis.session.Configuration configuration = // new org.apache.ibatis.session.Configuration(); // configuration.setLazyLoadingEnabled(true); // configuration.setMapUnderscoreToCamelCase(true); // bean.setConfiguration(configuration); // return bean; // } // 定义fluent mybatis的MapperFactory @Bean public MapperFactory mapperFactory() { return new MapperFactory(); } }
Exécutez-le à nouveau pour voir l'effet.
L'exécution est réussie, regardez les données dans le tableau. D'accord, parfait.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!