Heim >Java >javaLernprogramm >So integrieren Sie tkMapper in SpringBoot
1 Erstellen eines SpringBoot-Projekts, auf das ich hier nicht eingehen werde Schauen wir uns zunächst die Struktur des Gesamtprojekts an Konflikte)
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--lombok省略代码--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- h3嵌入式数据--> <dependency> <groupId>com.h3database</groupId> <artifactId>h3</artifactId> <scope>runtime</scope> </dependency> <!-- tk--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>3.4.5</version> </dependency> </dependencies>#🎜 🎜#3
Erstellen Sie einen neuen Datenbankordner im Ressourcenverzeichnis, um Datendateien zu speichern, wobei schema-h3.sql das Datenbankschemaskript und data-h3 ist. sql ist das Datenskript 🎜#
DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id) );4 #🎜 🎜#application.yml
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'red', 18, 'test1@tian.com'),
(2, 'yll', 20, 'test2@tian.com'),
(3, 'putty', 22, 'test3@tian.com'),
(4, 'ele', 24, 'test4@tian.com'),
(5, 'tom', 26, 'test5@tian.com');
5
tk-Paket zu Erstellen Sie eine neue allgemeine Mapper-Schnittstelle MyMapper.
Diese Schnittstelle kann nicht gescannt werden, andernfalls wird ein Fehler gemeldet 🎜#Erstellen Sie eine neue Benutzerklasse unter dem Bean-Paket, um den Code wegzulassen. Die @Data-Annotation enthält get /set und andere Methoden.
Benutzer. javaspring:
datasource:
driver-class-name: org.h3.Driver
schema: classpath:db/schema-h3.sql
data: classpath:db/data-h3.sql
url: jdbc:h3:mem:root
username: root
password: root
UserDao.java
# 🎜🎜#package com.tian.tkmapper; import org.springframework.stereotype.Repository; import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.MySqlMapper; @Repository public interface MyMapper<T> extends Mapper<T> ,MySqlMapper<T> { }
Neue Konfigurationsklasse MybatisConfigurer
#🎜 🎜#MybatisConfigurer.java
package com.tian.tkmapper.tk.bean; import lombok.Data; @Data public class User { private Long id; private String name; private Integer age; private String email; }# 🎜🎜#6 # 🎜🎜#Add @MapperScan
package com.tian.tkmapper.tk.dao; import com.tian.tkmapper.MyMapper; import com.tian.tkmapper.tk.bean.User; import org.springframework.stereotype.Repository; @Repository public interface UserDao extends MyMapper<User> { }7 #🎜🎜 #Testen Sie den Code zum Testen
package com.tian.tkmapper.tk.config; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import tk.mybatis.spring.mapper.MapperScannerConfigurer; import javax.annotation.Resource; import javax.sql.DataSource; import java.util.Properties; @Configuration public class MybatisConfigurer { @Resource private DataSource dataSource; @Bean public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setTypeAliasesPackage("com.tian.tkmapper.tk.bean"); //添加XML目录 // ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); // bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml")); return bean.getObject(); } @Configuration @AutoConfigureAfter(MybatisConfigurer.class) public static class MyBatisMapperScannerConfigurer { @Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean"); mapperScannerConfigurer.setBasePackage("com.tian.tkmapper.tk.dao.*"); //配置通用mappers Properties properties = new Properties(); properties.setProperty("mappers", "com.tian.tkmapper.MyMapper"); properties.setProperty("notEmpty", "false"); properties.setProperty("IDENTITY", "MYSQL"); mapperScannerConfigurer.setProperties(properties); return mapperScannerConfigurer; } } }
Endlich, wenn Sie die angezeigte Ausgabe sehen ist wie folgt, es ist erfolgreich
Das obige ist der detaillierte Inhalt vonSo integrieren Sie tkMapper in SpringBoot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!