1. Bereitstellung und Installation des Frameworks Maven
Nachdem Sie den Framework-Quellcode heruntergeladen haben, führen Sie mvn clean install im Projektstammpfad aus, um ihn in der lokalen Maven-Bibliothek zu installieren. Wenn Sie den privaten Nexus-Server freigeben und verwenden müssen, fügen Sie im Stammpfad pom entsprechende Kontokonfigurationen hinzu. Führen Sie cn.jboost.springboot:tkmapper-spring-boot-starter ein (kein Verbindungspool).
Führen Sie cn.jboost.springboot:druid-spring-boot-starter (Unterstützung des Druiden-Verbindungspools) direkt ein
<distributionManagement> <repository> <id>nexus-releases</id> <url> http://ip:port/repository/maven-releases/ </url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <url> http://ip:port/repository/maven-snapshots/ </url> </snapshotRepository> </distributionManagement>
3 Datenquelle
Wenn Sie den Druid-Verbindungspool verwenden, fügen Sie die folgende Datenquellenkonfiguration in der Konfigurationsdatei application.yml hinzu (empfohlen)
<servers> <server> <id>nexus-snapshots</id> <username>admin</username> <password>xxx</password> </server> <server> <id>nexus-releases</id> <username>admin</username> <password>xxx</password> </server> </servers>
#第一种方式 <dependency> <groupId>cn.jboost.springboot</groupId> <artifactId>tkmapper-spring-boot-starter</artifactId> <version>1.2-SNAPSHOT</version> </dependency> #第二种方式 <dependency> <groupId>cn.jboost.springboot</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2-SNAPSHOT</version> </dependency> #第三种方式 <parent> <groupId>cn.jboost.springboot</groupId> <artifactId>spring-boot-parent</artifactId> <version>1.2-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent>
4. Definieren Sie die entsprechenden Domänen-, Mapper-, Service- und Controller-Layer-Objekte
Nehmen Sie Demo als Beispiel (siehe resources/schema.sql für das Demo-Datenbankskript,
spring: datasource: druid: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8 username: root password: # 自定义配置 initialSize: 2 # 初始化大小 minIdle: 1 # 最小连接 maxActive: 5 # 最大连接 druidServletSettings: allow: 127.0.0.1 deny: loginUsername: admin loginPassword: Passw0rd resetEnable: true druidFilterSettings: exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*' maxWait: 60000 # 配置获取连接等待超时的时间 timeBetweenEvictionRunsMillis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 minEvictableIdleTimeMillis: 300000 # 配置一个连接在池中最小生存的时间,单位是毫秒 validationQuery: SELECT 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true # 打开PSCache,并且指定每个连接上PSCache的大小 maxPoolPreparedStatementPerConnectionSize: 20 filters: stat #,wall(添加wall代码里不能直接拼接sql,druid有sql注入校验) # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 useGlobalDataSourceStat: true # 合并多个DruidDataSource的监控数据
Standardmäßig ordnet das Framework komplexe Typattribute wie List zu und Ordnen Sie es dem JSON-Typ von MySQL oder dem JSONB von Postgresql zu. Wenn für ein bestimmtes Attribut keine Zuordnung erforderlich ist, können Sie die Annotation @Transient für Aufzählungstypen hinzufügen. Sie müssen @ColumnType hinzufügen, um jdbcType anzugeben.
dao-Ebene definiert UserMapper, spring:
datasource:
url: jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
username: root
password:
driver-class-name: com.mysql.jdbc.Driver
@Table(name = "user") @Getter @Setter @ToString public class User extends AutoIncrementKeyBaseDomain<Integer> { private String name; @ColumnType(jdbcType = JdbcType.CHAR) private Gender gender; private List<String> favor; private Map<String, String> address; public enum Gender{ M, F } }
Die Controllerschicht definiert UserController, der die gemeinsame Schnittstelle von erbt BaseController (Einzelheiten finden Sie im Quellcode)
@Repository public interface UserMapper extends BaseMapper<User> { }
Wie oben müssen Sie nur die jeder Ebene entsprechende Schnittstelle oder Klasse definieren und die grundlegende Schnittstelle oder Klasse erben, um die grundlegenden Hinzufügungs-, Lösch-, Änderungs- und Abfragefunktionen des Benutzers abzuschließen ohne eine Zeile spezifischen Implementierungscodes zu schreiben.
5. Testen und ausführen Das Beispiel bietet Unit-Tests für zwei neue Benutzer, um sie auszuführen, führen Sie sie direkt in der Hauptklasse aus und öffnen Sie dann http://localhost:8080 Im Browser kann /user die im Unit-Test erstellten Benutzer auflisten (weitere Schnittstellen finden Sie in der BaseController-Implementierung)Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Einzeltabellenbetrieb durch die Integration von Mapper in Springboot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!