1. 程式人生 > 其它 >mybatis plugins_Spring整合Mybatis基礎入門

mybatis plugins_Spring整合Mybatis基礎入門

技術標籤:mybatis pluginsspring boot mybatis 整合spring mybatis整合spring整合mybatis

Spring整合myBatis,其本質工作就是將使用mybatis框架時用到的一些需要自己建立的物件,交由Spring統一管理。主要有以下物件:資料來源DataSource:就是儲存資料庫連線資訊的物件,採用阿里的Druid,更加高效。SqlSessionFactory:生成sqlSession物件的。

MapperScannerConfigurer:Dao介面的實現類物件。

Service層物件:解耦。

學習下面這個例子就基本理解Spring整合Mybatis的使用流程。

準備工作:

資料庫

c664ae81a71732af27b8ac6cdad127c1.png

匯入依賴

<dependencies>        <dependency>            <groupId>junitgroupId>            <artifactId>junitartifactId>            <version>4.11version>            <scope>testscope>        dependency>                <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-contextartifactId>            <version>5.2.5.RELEASEversion>        dependency>                <dependency>        <groupId>org.springframeworkgroupId>            <artifactId>spring-txartifactId>            <version>5.2.5.RELEASEversion>        dependency>        <dependency>            <groupId>org.springframeworkgroupId>            <artifactId>spring-jdbcartifactId>            <version>5.2.5.RELEASEversion>        dependency>                <dependency>            <groupId>org.mybatisgroupId>            <artifactId>mybatisartifactId>            <version>3.5.1version>        dependency>        <dependency>            <groupId>org.mybatisgroupId>            <artifactId>mybatis-springartifactId>            <version>1.3.1version>        dependency>                <dependency>            <groupId>mysqlgroupId>            <artifactId>mysql-connector-javaartifactId>            <version>5.1.9version>        dependency>                <dependency>            <groupId>com.alibabagroupId>            <artifactId>druidartifactId>            <version>1.1.12version>        dependency>    dependencies>

資源外掛

<build>        <resources>            <resource>                <directory>src/main/javadirectory>                <includes>                    <include>**/*.propertiesinclude>                    <include>**/*.xmlinclude>                includes>                <filtering>falsefiltering>            resource>        resources>        <plugins>            <plugin>                <artifactId>maven-compiler-pluginartifactId>                <version>3.1version>                <configuration>                    <source>1.8source>                    <target>1.8target>                configuration>            plugin>        plugins>    build>

1.建立Student實體類

public class Student {    private int id;    private String name;    private String email;    private int age;    //省略方法}

2.建立StudentDao介面和StudentDao.xml對映檔案

public interface StudentDao {    int insertStudent(Student student);    ListselectStudent();}
<?xml version="1.0" encoding="UTF-8" ?>/span>        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zhu.dao.StudentDao">    <insert id="insertStudent">        insert into Student values (#{id},#{name},#{email},#{age})    insert>    <select id="selectStudent" resultType="com.zhu.pojo.Student">        select * from Student order by id desc    select>mapper>

3.建立Service介面和實現類

public interface StudentService {    int addStudent(Student student);    ListqueryStudent();}
public class StudentServiceImpl implements StudentService {    private StudentDao studentDao;    public StudentDao getStudentDao() {        return studentDao;    }    public void setStudentDao(StudentDao studentDao) {        this.studentDao = studentDao;    }    @Override    public int addStudent(Student student) {        int nums = studentDao.insertStudent(student);        return nums;    }    @Override    public ListqueryStudent() {        List students = studentDao.selectStudent();        return students;    }}

4.建立mybatis主配置檔案mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?>/span>        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <settings>        <setting name="logImpl" value="STDOUT_LOGGING"/>settings>        <typeAliases>                <package name="com.zhu">package>typeAliases><mappers>        <package name="com.zhu.dao"/>mappers>configuration>

5.建立Spring主配置檔案applicationContext.xml

1)宣告資料來源DataSource物件2)宣告SqlSessionFactoryBean,建立SqlSessionFactory物件3)宣告MyBatis的掃描器,建立Dao介面的實現類物件4)宣告自定義的Service ,把3)中的Dao物件注入賦值給Service的屬性

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:aop="http://www.springframework.org/schema/aop"       xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans.xsd       http://www.springframework.org/schema/context       http://www.springframework.org/schema/context/spring-context.xsd       http://www.springframework.org/schema/aop       https://www.springframework.org/schema/aop/spring-aop.xsd">    <bean id="myDataSource" class="com.alibaba.druid.pool.DruidDataSource"      init-method="init" destroy-method="close">        <property name="url" value="jdbc:mysql://localhost:3306/jdbcstudy?useSSL=false&useUnicode=true&characterEncoding=UTF-8">property>        <property name="username" value="root">property>        <property name="password" value="root">property>        <property name="maxActive" value="20">property>    bean>        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">                <property name="dataSource" ref="myDataSource">property>                <property name="configLocation" value="classpath:mybatis.xml">property>    bean>    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>        <property name="basePackage" value="com.zhu.dao">property>    bean>        <bean id="studentService" class="com.zhu.service.impl.StudentServiceImpl">        <property name="studentDao" ref="studentDao">property>    bean>beans>

測試

@Test    public void test3(){        String config="applicationContext.xml";        ApplicationContext context = new ClassPathXmlApplicationContext(config);        StudentService service = (StudentService) context.getBean("studentService");        Student student1=new Student();        student1.setId(1004);        student1.setName("大刀");        student1.setEmail("[email protected]");student1.setAge(29);        int i = service.addStudent(student1);System.out.println(i);    }
@Test    public void test4(){        String config="applicationContext.xml";        ApplicationContext context = new ClassPathXmlApplicationContext(config);        StudentService service = (StudentService) context.getBean("studentService");        List students = service.queryStudent();        for (Student student : students) {            System.out.println(student);        }}

f83728011fecfcd81b4b6236f8adfeb8.png

通過以上例子簡單認識了一下Spring整合Mybatis,更加複雜的需要自己勤加練習。