Maison >Java >javaDidacticiel >Premiers pas avec MyBatis (6) --- Intégration de mybatis et spring

Premiers pas avec MyBatis (6) --- Intégration de mybatis et spring

黄舟
黄舟original
2016-12-21 14:35:511235parcourir

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

Premiers pas avec MyBatis (6) --- Intégration de mybatis et spring

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" > ;< ;!--Configuration - ->










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">where author_id=#{ id}INSERT INTO author(author_username,author_password, author_email,author_bio)
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
update authorauthor_username=#{authorUserName},author_password=#{authorPassword},author_email=#{authorEmail},author_bio=#{authroBio},register_time=#{registerTime} if>where author_id=#{authorId}supprimer de l'auteur où author_id= #{authorId}

3. Intégrer à l'aide du fichier de configuration Mybatis.xml

3.1、applicationContext.xml

< ;!--加载数据库驱动  -->< ; propriété name = "maxidleTime" value = "$ {maxidleTime}" / & gt; & lt;! - 当连接池中的连接耗尽的时候 c3p0 一次同时获取的连接数。default: 3 - & gt; & lt; property name="acquireIncrement" value="${acquireIncrement}"/>

 

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">INSERT INTO author(author_username,author_password,author_email,author_bio)
VALUES(#{authorUserName},#{authorPassword},#{authorEmail} ,#{authroBio})
mettre à jour l'auteurauthor_username=#{authorUserName},author_password=#{authorPassword},> ;author_email=#{authorEmail},register_time=#{registerTime}où author_id=#{authorId}< ;/update>supprimer de l'auteur où author_id=#{authorId}

 

测试类同上

 以上就是MyBatis入门(六)---mybatis与spring的整合的内容,更多Application PHP (www.php.cn)! 


Déclaration:
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