Table des matières
1.
3.9小结
4.多对多查询
4.1需求
4.2sql语句
4.3映射思路
4.4 mapper.xml
4.5定义resultMap
4.6mapper.java
4.7测试程序
4.8多对多查询总结
 5.resultMap总结
Maison Java javaDidacticiel Exemple de tutoriel de requête associée à MyBatis

Exemple de tutoriel de requête associée à MyBatis

Jun 25, 2017 am 10:34 AM
mybatis 学习 搭建 aller en profondeur

Veuillez indiquer la source de la réimpression :

À venir : Spring+SpringMVC+MyBatis apprentissage et construction approfondis (5) - SQL dynamique

1.

1.1 Idées d'analyse du modèle de données

(1) Le contenu des données enregistrées dans chaque table

Le contenu enregistré dans chaque table est divisé en modules. La familiarité équivaut au processus d’apprentissage des exigences du système (fonctions).

(2) Paramètres de champ importants pour chaque table

Champs non nuls, champs de clé étrangère

(3) Tables au niveau de la base de données et relations entre les tables

Relation de clé étrangère

(4) Relation commerciale entre les tables

Lors de l'analyse de la relation commerciale entre les tables, elle doit être basée sur une certaine signification commerciale. Montez et analysez.

1.2 Analyse du modèle d'attribut

2. Requête individuelle

2.1 Exigences

Requête des informations sur la commande , association Ordre de requête informations utilisateur.

2.2 Méthode 1 : resultType

2.2.1instruction SQL

Déterminer la table principale de la requête : order table

Déterminer la table associée de la requête : table utilisateur

La requête associée utilise-t-elle des liens internes ? Ou un lien externe ?

Puisqu'il existe une clé étrangère (user_id) dans la table des commandes, l'interrogation de la table des utilisateurs via une association de clé étrangère ne peut interroger qu'un seul enregistrement et des liens internes peuvent être utilisés.

SELECT 
  orders.*,  USER.username,  USER.sex,  USER.address 
FROM
  orders,  USER WHERE orders.user_id = user.id
Copier après la connexion
2.2.2 Créer un pojo

Mappez les résultats de la requête SQL ci-dessus sur pojo, qui doit inclure tous les noms de colonnes de requête.

Le Orders.java d'origine ne peut pas mapper tous les champs et un nouveau pojo doit être créé.

Créez une classe pojo qui hérite de plus de champs de requête.

2.2.3mapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespace命名空间,作用就是对sql进行分类化的管理,理解为sql隔离
    注意:使用mapper代理开发时,namespace有特殊作用,namespace等于mapper接口地址  --><mapper namespace="joanna.yan.mybatis.mapper.OrdersCustomMapper"><!--查询订单,关联查询用户信息  --><select id="findOrdersUser" resultType="joanna.yan.mybatis.entity.OrdersCustom">SELECT 
          orders.*,
          USER.username,
          USER.sex,
          USER.address 
        FROM
          orders,
          USER 
        WHERE orders.user_id = user.id</select></mapper>
Copier après la connexion
2.2.4mapper.java

public interface OrdersCustomMapper {//查询订单,关联查询用户信息public List<OrdersCustom> findOrdersUser() throws Exception;
}
Copier après la connexion
2.2.5 Programme de test

  @Testpublic void findOrdersUserTest() throws Exception{
        SqlSession sqlSession=sqlSessionFactory.openSession();
        OrdersCustomMapper ordersCustomMapper=sqlSession.getMapper(OrdersCustomMapper.class);
        List<OrdersCustom> list=ordersCustomMapper.findOrdersUser();
        System.out.println(list);
        sqlSession.close();
    }
Copier après la connexion
2.3 Méthode 2 : resultMap

Instruction 2.3.1sql

implémentée avec resultType sql

2.3.2 L'idée d'utiliser le mappage resultMap

Utilisez resultMap pour mapper les informations de commande dans les résultats de la requête à l'objet Orders, ajoutez-le dans la classe Orders, l'attribut User mappe les informations utilisateur demandées à partir de l'association avec l'attribut user dans l'objet commandes.

2.3.3 Besoin d'ajouter l'attribut utilisateur à la classe des commandes

2.3.4mapper.xml

2.3.4.1 Définir resultMap

    <!--订单关联查询用户的resultMap
        将整个查询的结果映射到oanna.yan.mybatis.entity.Orders中      --><resultMap type="joanna.yan.mybatis.entity.Orders" id="OrdersUserResultMap"><!-- 1.配置映射的订单信息  --><!-- id:指定查询列中的唯一标识,订单信息中的唯一标识,如果有多个列组成唯一标识,配置多个id
             column:订单信息中的唯一标识列
             property:订单信息中的唯一标识列所映射到Orders类中的哪个属性          --><id column="id" property="id"/><result column="user_id" property="userId"/><result column="number" property="number"/><result column="createtime" property="createtime"/><result column="note" property="note"/><!-- 2.配置映射的关联的用户信息  --><!-- association:用于映射关联查询单个对象的信息
             property:要将关联查询的用户信息映射到Orders类中的哪个属性         --><association property="user" javaType="joanna.yan.mybatis.entity.User"><!-- 关联查询用户的唯一标识
                 column:指定唯一标识用户信息的列
                 property:映射到user的哪个属性              --><id column="user_id" property="id"/><result column="username" property="username"/><result column="sex" property="sex"/><result column="address" property="sex"/></association></resultMap>
Copier après la connexion
2.3.4.2 Définition de l'instruction de définition

    <!--查询订单,关联查询用户信息,使用ResultMap  --><select id="findOrdersUserResultMap" resultMap="OrdersUserResultMap">SELECT 
          orders.*,
          USER.username,
          USER.sex,
          USER.address 
        FROM
          orders,
          USER 
        WHERE orders.user_id = user.id</select>
Copier après la connexion
2.3.4.3mapper.java

public interface OrdersCustomMapper {//查询订单,关联查询用户信息,使用resultMappublic List<Orders> findOrdersUserResultMap() throws Exception;
}
Copier après la connexion
2.3.4.4 Programme de test

    @Testpublic void findOrdersUserResultMapTest() throws Exception{
        SqlSession sqlSession=sqlSessionFactory.openSession();
        OrdersCustomMapper ordersCustomMapper=sqlSession.getMapper(OrdersCustomMapper.class);
        List<Orders> list=ordersCustomMapper.findOrdersUserResultMap();
        System.out.println(list);
        sqlSession.close();
    }
Copier après la connexion
2.4 Résumé de resultType et resultMap pour implémenter une requête individuelle

Pour en implémenter une Requête -to-one :

resultType : Il est relativement simple à implémenter en utilisant resultType. Si le nom de la colonne interrogé n'est pas inclus dans le pojo, vous devez ajouter les attributs correspondant au nom de la colonne pour compléter le mappage. .

S'il n'y a pas d'exigences particulières pour les résultats de requête, il est recommandé d'utiliser resultType.

resultMap : vous devez définir resultMap séparément, ce qui est un peu difficile à implémenter. Si vous avez des exigences particulières pour les résultats de la requête, vous pouvez utiliser resultMap pour mapper la requête associée aux attributs du pojo.

resultMap peut implémenter un chargement paresseux, mais resultType ne peut pas implémenter un chargement paresseux.

3. Requête un-à-plusieurs

3.1 Exigences

Requête des informations sur la commande et les détails de la commande

3.2 Instruction SQL

Déterminer la table de requête principale : table de commande

Déterminez l'association Table de requête : table de détails de commande

Ajoutez simplement l'association de la table de détails de commande basée sur une requête individuelle.

SELECT 
  orders.*,  USER.username,  USER.sex,  USER.address,
  orderdetail.id orderdetail_id,
  orderdetail.items_id,
  orderdetail.items_num,
  orderdetail.orders_idFROM
  orders,  USER,
  orderdetailWHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id
Copier après la connexion
3.3 Analyse

Utilisez resultType pour mapper les résultats de la requête ci-dessus à pojo, et les informations de commande seront répétées.

Exigences :

Le mappage des commandes ne peut pas avoir d'enregistrements en double.

Solution :

Ajoutez l'attribut List orderDetails dans la classe Orders.java.

Les informations de commande seront éventuellement mappées aux commandes, et les détails de la commande correspondant à la commande seront mappés à l'attribut orderDetails dans les commandes.

Le nombre d'enregistrements de commandes mappées est de deux (les informations sur les commandes ne sont pas répétées)

L'attribut orderDetails dans chaque commande stocke les détails de la commande correspondant à la commande.

3.4 Ajouter l'attribut de détail de la commande de liste dans la classe Commandes

3.5 Définir resultMap

    <!--订单及订单明细的resultMap
        使用extends继承,就不需要再配置订单信息和用户信息的映射了      --><resultMap type="joanna.yan.mybatis.entity.Orders" id="OrdersAndOrderDetailResultMap" extends="OrdersUserResultMap"><!-- 1.配置映射的订单信息  --><!-- 2.配置映射的关联的用户信息  --><!-- 使用extends继承,就不需要再配置订单信息和用户信息的映射了 --><!-- 3.配置映射的订单明细信息  --><!-- 订单明细信息
             一个订单关联查询出了多条明细,要使用collection进行映射
             collection:对关联查询到的多条记录映射到集合对象中
             property:将关联查询到多条记录映射到joanna.yan.mybatis.entity.Orders中的哪个属性
              ofType:指定映射到list集合属性中pojo的类型         --><collection property="orderdetails" ofType="joanna.yan.mybatis.entity.Orderdetail"><!-- id:订单明细的唯一标识
                 property:要讲订单明细的唯一标识映射到joanna.yan.mybatis.entity.Orderdetail的哪个属性              --><id column="orderdetail_id" property="id"/><result column="items_id" property="itemsId"/><result column="items_num" property="itemsNum"/><result column="orders_id" property="ordersId"/></collection></resultMap>
Copier après la connexion
3.6 mapper.xml

    <!-- 查询订单,关联查询用户及订单明细,使用resultMap --><select id="findOrdersAndOrderDetailResultMap" resultMap="OrdersAndOrderDetailResultMap">SELECT 
          orders.*,
          USER.username,
          USER.sex,
          USER.address,
          orderdetail.id orderdetail_id,
          orderdetail.items_id,
          orderdetail.items_num,
          orderdetail.orders_id
        FROM
          orders,
          USER,
          orderdetail
        WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id</select>
Copier après la connexion
3.7mapper.java

public interface OrdersCustomMapper {//查询订单,关联查询用户信息public List<OrdersCustom> findOrdersUser() throws Exception;//查询订单,关联查询用户信息,使用resultMappublic List<Orders> findOrdersUserResultMap() throws Exception;//查询订单(关联用户)及订单明细public List<Orders> findOrdersAndOrderDetailResultMap() throws Exception;
}
Copier après la connexion
3.8 Programme de test

    @Testpublic void findOrdersAndOrderDetailResultMapTest() throws Exception{
        SqlSession sqlSession=sqlSessionFactory.openSession();
        OrdersCustomMapper ordersCustomMapper=sqlSession.getMapper(OrdersCustomMapper.class);
        List<Orders> list=ordersCustomMapper.findOrdersAndOrderDetailResultMap();
        System.out.println(list);
        sqlSession.close();
    }
Copier après la connexion

3.9小结

mybatis使用resultMap的collection对关联查询的多条记录映射到有个list集合属性中。

使用resultType实现:

将订单明细映射到orders中的orderdetails中,需要自己处理,使用双重循环遍历,去掉重复记录,将订单明细放在ordertails中。

4.多对多查询

4.1需求

查询用户及用户购买的商品信息。

4.2sql语句

查询主表:用户表

关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所有关联表:orders、orderdetail、items。

SELECT 
  orders.*,  USER.username,  USER.sex,  USER.address,
  orderdetail.id orderdetail_id,
  orderdetail.items_id,
  orderdetail.items_num,
  orderdetail.orders_id,
  items.name items_name,
  items.detail items_detail,
  items.price items_priceFROM
  orders,  USER,
  orderdetail,
  itemsWHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id AND orderdetail.items_id = items.id
Copier après la connexion

4.3映射思路

将用户信息映射到user中。

在User类中添加订单列表属性List orderslist,将用户创建的订单映射到orderslist;

在Orders中田间订单明细列表属性List orderdetails,将订单的明细映射到orderdetails;

在OrderDetail中添加Items属性,将订单明细所对应的商品映射到Items。

4.4 mapper.xml

    <select id="findUserAndItemsResultMap" resultMap="UserAndItemsResultMap">SELECT 
          orders.*,
          USER.username,
          USER.sex,
          USER.address,
          orderdetail.id orderdetail_id,
          orderdetail.items_id,
          orderdetail.items_num,
          orderdetail.orders_id,
          items.name items_name,
          items.detail items_detail,
          items.price items_price
        FROM
          orders,
          USER,
          orderdetail,
          items
        WHERE orders.user_id = user.id AND orderdetail.orders_id=orders.id AND orderdetail.items_id = items.id        </select>
Copier après la connexion

4.5定义resultMap

    <!-- 查询用户及购买商品  --><resultMap type="joanna.yan.mybatis.entity.User" id="UserAndItemsResultMap"><!-- 1.用户信息 --><id column="user_id" property="id"/><result column="username" property="username"/><result column="sex" property="sex"/><result column="address" property="address"/><!-- 2.订单信息 --><!-- 一个用户对应多个订单,使用collection映射 --><collection property="ordersList" ofType="joanna.yan.mybatis.entity.Orders"><id column="id" property="id"/><result column="user_id" property="userId"/><result column="number" property="number"/><result column="createtime" property="createtime"/><result column="note" property="note"/><!-- 3.订单明细  --><!-- 一个订单包括多个明细 --><collection property="orderdetails" ofType="joanna.yan.mybatis.entity.Orderdetail"><id column="orderdetail_id" property="id"/><result column="items_id" property="itemsId"/><result column="items_num" property="itemsNum"/><result column="orders_id" property="ordersId"/><!-- 4.商品信息  --><!-- 一个订单明细对应一个商品 --><association property="items" javaType="joanna.yan.mybatis.entity.Items"><id column="items_id" property="id"/><result column="items_name" property="name"/><result column="items_detail" property="detail"/><result column="items_price" property="price"/></association></collection></collection></resultMap>
Copier après la connexion

4.6mapper.java

public interface OrdersCustomMapper {//查询订单,关联查询用户信息public List<OrdersCustom> findOrdersUser() throws Exception;//查询订单,关联查询用户信息,使用resultMappublic List<Orders> findOrdersUserResultMap() throws Exception;//查询订单(关联用户)及订单明细public List<Orders> findOrdersAndOrderDetailResultMap() throws Exception;//查询用户购买商品信息public List<User> findUserAndItemsResultMap() throws Exception;
}
Copier après la connexion

4.7测试程序

    @Testpublic void findUserAndItemsResultMapTest() throws Exception{
        SqlSession sqlSession=sqlSessionFactory.openSession();
        OrdersCustomMapper ordersCustomMapper=sqlSession.getMapper(OrdersCustomMapper.class);
        List<User> list=ordersCustomMapper.findUserAndItemsResultMap();
        System.out.println(list);
        sqlSession.close();
    }
Copier après la connexion

4.8多对多查询总结

将查询用户购买的商品信息明细清单(用户名、用户地址、购买商品名称、购买商品时间、购买商品数量)

针对上面的需求就使用resultType将查询到的记录映射到一个扩展的pojo中,很简单实现明细清单的功能。

一对多是多对多的特例,如下需求:

查询用户购买的商品信息,用户和商品的关系是多对多关系。

需求1:

查询字段:用户账号、用户名称、用户性别、商品名称、商品价格(最常见)

企业开发中常见明细列表,用户购买商品明细列表,

使用resultType将上边查询列映射到pojo输出。

需求2:

查询字段:用户账号、用户名称、购买商品数量、商品明细(鼠标移上显示明细)

使用resultMap将用户购买的商品明细列表映射到user对象中。

总结:

使用resultMap是针对那些对查询结果映射有特殊要求的功能,比如特殊要求映射成list中包含多个list。

 5.resultMap总结

resultType:

作用:将查询结果按照sql列名pojo属性一致性映射到pojo中。

场合:

  常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可。

resultMap:

  使用association和collection完成一对一和一对多高级映射(对结果又特殊的映射要求)。

association:

作用:将关联查询信息映射到一个pojo对象中。

场合:

为了方便查询关联信息可以使用association将关联订单信息映射为用户对象的pojo属性中,比如:查询订单及关联用户信息。

  使用resultType无法将查询结果映射到pojo对象的pojo属性中,根据对结果集查询遍历的需要选择使用resultType还是resultMap。

collection:

作用:将关联查询信息映射到一个list集合中。

场合:为了方便擦还行遍历关联信息可以使用collection将关联信息映射到list集合中,比如:查询用户权限范围模块及模块下的菜单,可使用collection将模块映射到模块list中,将菜单列表映射到模块对象的菜单list属性中,这样做册目的也是方便对查询结果集进行遍历查询。

  如果使用resultType无法将查询结果映射到list集合中。 

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de la fonction Définir la balise dans les balises SQL dynamiques MyBatis Explication détaillée de la fonction Définir la balise dans les balises SQL dynamiques MyBatis Feb 26, 2024 pm 07:48 PM

Interprétation des balises SQL dynamiques MyBatis : explication détaillée de l'utilisation des balises Set MyBatis est un excellent cadre de couche de persistance. Il fournit une multitude de balises SQL dynamiques et peut construire de manière flexible des instructions d'opération de base de données. Parmi elles, la balise Set est utilisée pour générer la clause SET dans l'instruction UPDATE, qui est très couramment utilisée dans les opérations de mise à jour. Cet article expliquera en détail l'utilisation de la balise Set dans MyBatis et démontrera ses fonctionnalités à travers des exemples de code spécifiques. Qu'est-ce que Set tag Set tag est utilisé dans MyBati

Révéler l'attrait du langage C : découvrir le potentiel des programmeurs Révéler l'attrait du langage C : découvrir le potentiel des programmeurs Feb 24, 2024 pm 11:21 PM

Le charme de l'apprentissage du langage C : libérer le potentiel des programmeurs Avec le développement continu de la technologie, la programmation informatique est devenue un domaine qui a beaucoup attiré l'attention. Parmi les nombreux langages de programmation, le langage C a toujours été apprécié des programmeurs. Sa simplicité, son efficacité et sa large application font de l’apprentissage du langage C la première étape pour de nombreuses personnes souhaitant entrer dans le domaine de la programmation. Cet article discutera du charme de l’apprentissage du langage C et de la manière de libérer le potentiel des programmeurs en apprenant le langage C. Tout d’abord, le charme de l’apprentissage du langage C réside dans sa simplicité. Comparé à d'autres langages de programmation, le langage C

Analyser le mécanisme de mise en cache de MyBatis : comparer les caractéristiques et l'utilisation du cache de premier niveau et du cache de deuxième niveau Analyser le mécanisme de mise en cache de MyBatis : comparer les caractéristiques et l'utilisation du cache de premier niveau et du cache de deuxième niveau Feb 25, 2024 pm 12:30 PM

Analyse du mécanisme de mise en cache MyBatis : la différence et l'application du cache de premier niveau et du cache de deuxième niveau Dans le framework MyBatis, la mise en cache est une fonctionnalité très importante qui peut améliorer efficacement les performances des opérations de base de données. Parmi eux, le cache de premier niveau et le cache de deuxième niveau sont deux mécanismes de mise en cache couramment utilisés dans MyBatis. Cet article analysera en détail les différences et les applications du cache de premier niveau et du cache de deuxième niveau, et fournira des exemples de code spécifiques pour illustrer. 1. Cache de niveau 1 Le cache de niveau 1 est également appelé cache local. Il est activé par défaut et ne peut pas être désactivé. Le cache de premier niveau est SqlSes

Apprenons ensemble à saisir le numéro racine dans Word Apprenons ensemble à saisir le numéro racine dans Word Mar 19, 2024 pm 08:52 PM

Lors de la modification du contenu du texte dans Word, vous devez parfois saisir des symboles de formule. Certains gars ne savent pas comment saisir le numéro racine dans Word, alors Xiaomian m'a demandé de partager avec mes amis un tutoriel sur la façon de saisir le numéro racine dans Word. J'espère que cela aidera mes amis. Tout d'abord, ouvrez le logiciel Word sur votre ordinateur, puis ouvrez le fichier que vous souhaitez modifier et déplacez le curseur vers l'emplacement où vous devez insérer le signe racine, reportez-vous à l'exemple d'image ci-dessous. 2. Sélectionnez [Insérer], puis sélectionnez [Formule] dans le symbole. Comme indiqué dans le cercle rouge dans l'image ci-dessous : 3. Sélectionnez ensuite [Insérer une nouvelle formule] ci-dessous. Comme indiqué dans le cercle rouge dans l'image ci-dessous : 4. Sélectionnez [Formule radicale], puis sélectionnez le signe racine approprié. Comme le montre le cercle rouge sur l'image ci-dessous :

Peut-on construire des bâtiments à l'état sauvage dans Mistlock Kingdom ? Peut-on construire des bâtiments à l'état sauvage dans Mistlock Kingdom ? Mar 07, 2024 pm 08:28 PM

Les joueurs peuvent collecter différents matériaux pour construire des bâtiments lorsqu'ils jouent dans le Royaume de Mistlock. De nombreux joueurs veulent savoir si les bâtiments ne peuvent pas être construits à l'état sauvage dans le Royaume de Mistlock. . Des bâtiments peuvent-ils être construits à l’état sauvage dans Mistlock Kingdom Réponse : Non. 1. Les bâtiments ne peuvent pas être construits dans les zones sauvages du Royaume de Mist Lock. 2. Le bâtiment doit être construit dans le cadre de l'autel. 3. Les joueurs peuvent placer eux-mêmes l'Autel du Feu Spirituel, mais une fois qu'ils auront quitté le champ de tir, ils ne pourront plus construire de bâtiments. 4. Nous pouvons également creuser directement un trou dans la montagne pour en faire notre maison, nous n’avons donc pas besoin de consommer de matériaux de construction. 5. Il existe un mécanisme de confort dans les bâtiments construits par les joueurs eux-mêmes, c'est-à-dire que plus l'intérieur est bon, plus le confort est élevé. 6. Un confort élevé apportera des bonus d'attributs aux joueurs, tels que

Apprenez la fonction principale du langage Go à partir de zéro Apprenez la fonction principale du langage Go à partir de zéro Mar 27, 2024 pm 05:03 PM

Titre : Apprenez la fonction principale du langage Go à partir de zéro. En tant que langage de programmation simple et efficace, le langage Go est privilégié par les développeurs. Dans le langage Go, la fonction principale est une fonction d'entrée, et chaque programme Go doit contenir la fonction principale comme point d'entrée du programme. Cet article explique comment apprendre la fonction principale du langage Go à partir de zéro et fournit des exemples de code spécifiques. 1. Tout d’abord, nous devons installer l’environnement de développement du langage Go. Vous pouvez aller sur le site officiel (https://golang.org

Surveillance en temps réel de la sortie SQL dans la console MyBatis Surveillance en temps réel de la sortie SQL dans la console MyBatis Feb 25, 2024 pm 03:48 PM

MyBatis est un framework de couche de persistance populaire qui fournit des fonctions pratiques de mappage SQL et d'exploitation de base de données, permettant aux développeurs d'interagir plus efficacement avec la base de données. Dans le processus de développement actuel, nous devons parfois imprimer les instructions SQL exécutées par MyBatis sur la console en temps réel pour mieux déboguer et optimiser les requêtes SQL. Cet article expliquera comment réaliser l'impression en temps réel de SQL sur la console dans MyBatis et fournira des exemples de code spécifiques. Tout d'abord, nous devons ajouter My

Installez rapidement PyTorch dans PyCharm : un guide simple Installez rapidement PyTorch dans PyCharm : un guide simple Feb 24, 2024 pm 09:54 PM

Guide d'installation de PyTorch : configurer rapidement un environnement de développement dans PyCharm. PyTorch est l'un des frameworks les plus populaires dans le domaine actuel de l'apprentissage en profondeur. Il présente les caractéristiques de facilité d'utilisation et de flexibilité, et est favorisé par les développeurs. Cet article explique comment configurer rapidement l'environnement de développement PyTorch dans PyCharm, afin que vous puissiez démarrer le développement de projets d'apprentissage en profondeur. Étape 1 : Installer PyTorch Tout d’abord, nous devons installer PyTorch. L'installation de PyTorch doit généralement prendre en compte l'environnement système

See all articles