Mengikut kebergantungan kod rasmi tidak mencukupi Fail maven pom perlu ditambah di sini.
<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>
Di sini kami masih menggunakan mysql sebagai pangkalan data ujian FM (singkatan untuk fasih mybatis) boleh menyokong pelbagai jenis pangkalan data masa kini.
Tambah konfigurasi pangkalan data mysql dalam fail application.properties Penggunaan kumpulan sambungan druid akan dibincangkan dalam bab kemudian. Anda juga boleh menggunakan application.yml, ini adalah pilihan.
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
Tambahkan kod ujian ke dalam pakej ujian, terutamanya untuk melakukan ujian pemasukan data yang mudah.
Kodnya adalah seperti berikut:
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)); } }
Penjelasan:
1 Ambil perhatian bahawa TestFluentMybatisMapper ialah kelas pemeta dalam pakej sasaran.
2. Entiti jadual TestFluentMybatisEntity boleh ditulis dalam kod rantai.
@Accessors( chain = true )
Pemeta yang diimbas juga merupakan direktori pemeta dalam pakej sasaran
@SpringBootApplication @MapperScan({"com.hy.fmp.fluent.mapper"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
Mari uji kod yang dimasukkan
Saya menemui pengecualian yang dilaporkan di sini, melaraskan kod dan menambah kelas konfigurasi.
Kodnya adalah seperti berikut, menambah suntikan 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(); } }
Laksanakan sekali lagi untuk melihat kesannya.
Pelaksanaan berjaya, lihat data dalam jadual. OK, sempurna.
Atas ialah kandungan terperinci Cara menggunakan Java Fluent Mybatis untuk mengesahkan operasi pada pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!