mybatis plugins_Spring整合Mybatis基礎入門
阿新 • • 發佈:2020-12-23
技術標籤:mybatis pluginsspring boot mybatis 整合spring mybatis整合spring整合mybatis
Spring整合myBatis,其本質工作就是將使用mybatis框架時用到的一些需要自己建立的物件,交由Spring統一管理。主要有以下物件:資料來源DataSource:就是儲存資料庫連線資訊的物件,採用阿里的Druid,更加高效。SqlSessionFactory:生成sqlSession物件的。
MapperScannerConfigurer:Dao介面的實現類物件。
Service層物件:解耦。
學習下面這個例子就基本理解Spring整合Mybatis的使用流程。
準備工作:
資料庫
匯入依賴
<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); }}
通過以上例子簡單認識了一下Spring整合Mybatis,更加複雜的需要自己勤加練習。