Premiers pas avec MyBatis (6) --- Intégration de mybatis et spring
1. Besoins d'intégration
1.1, méthode
Les données du chapitre précédent
nécessitent sPRing pour gérer SqlsessionFactory
l'intégration Spring et Mybatis génère un proxy objets, et utilise SqlSessionFactory pour créer SqlSession
(l'intégration spring et mybatis est automatiquement terminée)
Les mappeurs de la couche de persistance doivent être gérés par spring
2. Créer un projet Intégrer l'environnement
2.1, créer un projet
2.2, data
db.properties
#Configuration de la base de données informations
#Driver
driverClass=com.MySQL.jdbc.Driver
#Connection url
jdbcUrl=jdbc:mysql://localhost:3306/mybatis?character=utf8#Username
user = root
#Password
passWord=root
#Nombre minimum de connexions conservées dans le pool de connexions
minPoolSize=10#Nombre maximum de connexions conservées dans le pool de connexions. Par défaut : 15 maxPoolSize=20#Durée d'inactivité maximale, la connexion sera supprimée si elle n'est pas utilisée dans les 1 800 secondes. S'il vaut 0, il ne sera jamais supprimé. Par défaut : 0 maxIdletime=1800#Le nombre de connexions que c3p0 obtient en même temps lorsque les connexions du pool de connexions sont épuisées. Par défaut : 3acquireIncrement=3#Le nombre de connexions initiales dans le pool de connexions doit être compris entre minPoolSize et maxPoolSize. La valeur par défaut est 3
initialPoolSize=15
2.3, configuration
br/> PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd" > ;
2.4 Classes et interfaces POJO
package com.pb.ssm.po;import java.util.Date;/**
*
* @ClassName : Auteur
* @Description : TODO(auteur)
* @auteur Liu Nan
* @date 2015 -10-31 12:39:33
**/public class Author { //作者id
private Integer authorId ; //作者姓名
private String authorUserName ; //作者密码
private String authorPassword ; //作者邮箱
private String authorEmail ; //作者介绍
private String authroBio ; //注册时间
private Date registerTime ;
public Integer getAuthorId() { return authorId;
public void setAuthorId(Integer authorId) { this.authorId = authorId;
} public String getAuthorUserName() { return authorUserName;
} public void setAuthorUserName(String authorUserName) { this.authorUserName = authorUserName;
} public String getAuthorPassword() { return authorPassword;
} public void setAuthorPassword(Str ing authorPassword) { this.authorPassword = authorPassword;
} public String getAuthorEmail() { return authorEmail;
} public void setAuthorEmail(String authorEmail) { this.authorEmail = authorEmail;
public String getAuthroBio() { return authroBio ;
} public void setAuthroBio( String authroBio) { this.authroBio = authroBio;
} public Date getRegisterTime() { return registerTime;
public void setRegisterTime(Date registerTime) { this.registerTime = registerTime;
}
@Override public String toString() { return "Auteur [authorId=" authorId ", authorUserName="
authorUserName ", authorPassword=" authorPassword ", authorEmail=" authorEmail ", authroBio=" authroBio ", RegisterTime=" RegisterTime "]" ;
}
}
接口
package com.pb.ssm.mapper;import com.pb.ssm.po.Author;public interface AuthorMapper { /**
*
* @Titre : findAuthorById
* @Description : TODO (recherche par identifiant)
* @param @param id
* @param @ return Fichier de paramètres
* @return Auteur Type de retour
* @throws
*/
public Author findAuthorById(int id); **
*
* @Titre : addAuthor
* @Description : TODO(Add)
* @param @param author
* @param @return Set Fichier défini
* @return int Type de retour
* @throws
*/
public int addAuthor(Auteur auteur); /**
*
* @Titre : updateAuthor
* @Description : TODO(update)
* @param @param author
* @param @return Set Fichier défini
* @return int Type de retour
* @throws
*/
public int updateAuthor(Auteur auteur); > public int delteAuthor(int id);
}
mapper.xml
< ;?xml version="1.0" encoding="UTF-8"?>br/> PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http:/ /mybatis.org/dtd/mybatis-3-mapper.dtd">
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
3.1、applicationContext.xml
3.2、测试
package com.pb.ssm.mapper; importer java.io.InputStream; importer org.apache.ibatis.io.Resources; importer org.apache.ibatis.session.SqlSession; importer org.apache.ibatis.session. SqlSessionFactory ; importer org.apache.ibatis.session.SqlSessionFactoryBuilder ; importer org.junit.Before ; importer org.junit.Test ; importer org.springframework.context.ApplicationContext ; importer org.springframework.context.support.ClassPathXmlApplicationContext ; importer com. pb.ssm.po.Author;public class AuthorMapperTest { private ApplicationContext applicationContext;
@Avant public void setUp() lève une exception {
applicationContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
}
@Test public void testFindAuthorById() {
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");
Author author = authorMapper. findAuthorById (2 );
System.out.println(author);
}
@Test public void testAddAuthor() { // 获取会话工厂
Auteur Mappeur authorMapper = (AuthorMapper) applicationContext .getBean("authorMapper");
Author author=new Author();
author.setAuthorUserName("程序猿");
author.setAuthorPassword("QWERdlfdad");
author.setAuthorEmail("QWER@QQ.com");
int num = authorMapper.addAuthor(author);
System.out.println("num=" num);
System.out.println("添加后的ID: " author.getAuthorId());
}
@Test public void testUpdateAuthor() { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMa poivre");
Auteur author = authorMapper.findAuthorById(13);
author.setAuthroBio("天天写代码");
author.setAuthorUserName("码农"); int num=authorMapper.updateAuthor(author);
System.out.println("num=" num);
System.out.println(author);
}
@Test public void testDeleteAuthor() { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper"); int num= authorMapper.delteAuthor(13);
}
}
四、不使用mybatis配置文件
4.1、写ApplicationContext.xml
更改Mapper.xml,因为不能使用别名,所以type要写POJO类的全路径
br/> PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
VALUES(#{authorUserName},#{authorPassword},#{authorEmail} ,#{authroBio})
测试类同上
以上就是MyBatis入门(六)---mybatis与spring的整合的内容,更多Application PHP (www.php.cn)!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

En tant que leader du secteur, Spring+AI fournit des solutions de pointe pour divers secteurs grâce à son API puissante et flexible et ses fonctions avancées. Dans cette rubrique, nous examinerons les exemples d'application de Spring+AI dans divers domaines. Chaque cas montrera comment Spring+AI répond à des besoins spécifiques, atteint ses objectifs et étend ces LEÇONS APPRISES à une gamme plus large d'applications. J'espère que ce sujet pourra vous inciter à comprendre et à utiliser plus profondément les possibilités infinies de Spring+AI. Le framework Spring a une histoire de plus de 20 ans dans le domaine du développement logiciel, et cela fait 10 ans que la version Spring Boot 1.0 est sortie. Maintenant, personne ne peut contester ce printemps

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

MyBatisGenerator est un outil de génération de code officiellement fourni par MyBatis, qui peut aider les développeurs à générer rapidement des JavaBeans, des interfaces Mapper et des fichiers de mappage XML conformes à la structure des tables de base de données. Dans le processus d'utilisation de MyBatisGenerator pour la génération de code, la définition des paramètres de configuration est cruciale. Cet article commencera du point de vue des paramètres de configuration et explorera en profondeur les fonctions de MyBatisGenerator.

Explication détaillée de la configuration des requêtes un-à-plusieurs de MyBatis : Pour résoudre les problèmes de requêtes associés courants, des exemples de code spécifiques sont nécessaires. Dans le travail de développement réel, nous rencontrons souvent des situations dans lesquelles nous devons interroger un objet d'entité maître et ses multiples objets d'entité esclave associés. . Dans MyBatis, la requête un-à-plusieurs est une requête d'association de base de données courante avec une configuration correcte, l'interrogation, l'affichage et le fonctionnement des objets associés peuvent être facilement réalisés. Cet article présentera la méthode de configuration des requêtes un-à-plusieurs dans MyBatis et comment résoudre certains problèmes de requêtes courants associés.

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

Explication détaillée du cache de premier niveau MyBatis : Comment améliorer l'efficacité de l'accès aux données ? Au cours du processus de développement, un accès efficace aux données a toujours été l’une des priorités des programmeurs. Pour les frameworks de couche de persistance comme MyBatis, la mise en cache est l'une des méthodes clés pour améliorer l'efficacité de l'accès aux données. MyBatis fournit deux mécanismes de mise en cache : le cache de premier niveau et le cache de deuxième niveau. Le cache de premier niveau est activé par défaut. Cet article présentera en détail le mécanisme du cache de premier niveau MyBatis et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre

À mesure que la technologie réseau continue de se développer, les attaques de bases de données deviennent de plus en plus courantes. L'injection SQL est l'une des méthodes d'attaque courantes. Les attaquants saisissent des instructions SQL malveillantes dans la zone de saisie pour effectuer des opérations illégales, provoquant une fuite, une falsification ou même une suppression de données. Afin de prévenir les attaques par injection SQL, les développeurs doivent accorder une attention particulière lors de l'écriture du code, et lorsqu'ils utilisent un framework ORM tel que MyBatis, ils doivent suivre certaines bonnes pratiques pour garantir la sécurité du système. 1. Requête paramétrée La requête paramétrée est l'anti-

MyBatis est un framework de couche de persistance Java populaire qui est largement utilisé dans divers projets Java. Parmi elles, l'insertion par lots est une opération courante qui peut améliorer efficacement les performances des opérations de base de données. Cet article explorera en profondeur le principe de mise en œuvre de l'insertion par lots dans MyBatis et l'analysera en détail avec des exemples de code spécifiques. Insertion par lots dans MyBatis Dans MyBatis, les opérations d'insertion par lots sont généralement implémentées à l'aide de SQL dynamique. En construisant un S contenant plusieurs valeurs insérées
