1. Déploiement et installation du Framework Maven
Après avoir téléchargé le code source du framework, exécutez mvn clean install dans le chemin racine du projet pour l'installer dans la bibliothèque maven locale. Si vous devez partager et utiliser le serveur privé Nexus, ajoutez la configuration de distributionManagement dans le chemin racine pom. Il existe des configurations de compte correspondantes dans tous les paramètres des fichiers de configuration. Introduisez cn.jboost.springboot:tkmapper-spring-boot-starter (pas de pool de connexions).
Introduire directement cn.jboost.springboot:druid-spring-boot-starter (prise en charge du pool de connexions Druid)
<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. source de données
Si vous utilisez le pool de connexion Druid, ajoutez la configuration de source de données suivante dans le fichier de configuration application.yml (recommandé)
<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. Définissez les objets de couche de domaine, de mappeur, de service et de contrôleur correspondants
Prenez la démo comme exemple (voir resources/schema.sql pour le script de base de données de démonstration qui définit une classe d'utilisateur,
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的监控数据
Par défaut, le framework mappera les attributs de type complexe tels que List et Mapper au type json de mysql ou au jsonb de postgresql Type, si un certain attribut ne nécessite pas de mappage, vous pouvez ajouter l'annotation @Transient pour les types d'énumération, vous devez ajouter @ColumnType pour spécifier jdbcType ; La couche
dao définit 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 } }
La couche contrôleur définit UserController, qui hérite de l'interface générale de BaseController (). voir le code source pour plus de détails)
@Repository public interface UserMapper extends BaseMapper<User> { }
Comme ci-dessus, il vous suffit de définir l'interface ou la classe correspondant à chaque couche et d'hériter de l'interface ou de la classe de base pour compléter les fonctions de base d'ajout, de suppression, de modification et de requête de l'utilisateur sans écrire une ligne de code de mise en œuvre spécifique.
5. Testez et exécutez L'exemple fournit des tests unitaires pour deux nouveaux utilisateurs. Reportez-vous à la classe SpringbootTkmapperApplicationTests
pour l'exécuter, exécutez-la directement sur la classe principale, puis ouvrez http://localhost:8080. dans le navigateur /user peut lister les utilisateurs créés dans le test unitaire (pour les autres interfaces, veuillez vous référer à l'implémentation de BaseController)
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!