由于MyBatis在多表查询时候的优越性。所以再次整理关于如何在SpringBoot中配置MyBatis。

1.新建一个SpringBoot项目。

2.加入依赖:

<!--数据库--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version>
</dependency>

3.配置数据库和MyBatis

server:port: 8080
spring:datasource:driver-class-name: com.mysql.jdbc.Driverpassword: aa111111username: utils_userurl: jdbc:mysql://localhost:3306/utils_db?useUnicode=true&useSSL=false&characterEncoding=UTF-8
#打印SQL
logging:level:com.zimo.mybaties.dao: debug
mybatis:#配置mapper文件所在地,在 resources 目录下的mapper目录的*xml文件mapper-locations: classpath:mybatis/mapper/*.xml#配置文件config-location: classpath:mybatis/mybatis-config.xml#对应实体类的路径type-aliases-package: com.zimo.mybaties.model

4.mybatis-config.xml的配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><settings><setting name="callSettersOnNulls" value="true"/><setting name="cacheEnabled" value="true"/><setting name="lazyLoadingEnabled" value="true"/><setting name="aggressiveLazyLoading" value="true"/><setting name="multipleResultSetsEnabled" value="true"/><setting name="useColumnLabel" value="true"/><setting name="useGeneratedKeys" value="false"/><setting name="autoMappingBehavior" value="PARTIAL"/><setting name="defaultExecutorType" value="SIMPLE"/><setting name="mapUnderscoreToCamelCase" value="true"/><setting name="localCacheScope" value="SESSION"/><setting name="jdbcTypeForNull" value="NULL"/></settings><typeAliases><typeAlias alias="Integer" type="java.lang.Integer" /><typeAlias alias="Long" type="java.lang.Long" /><typeAlias alias="HashMap" type="java.util.HashMap" /><typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" /><typeAlias alias="ArrayList" type="java.util.ArrayList" /><typeAlias alias="LinkedList" type="java.util.LinkedList" /></typeAliases>
</configuration>

5.创建一个实体student和其mapper接口类,和实现的mapper.xml。项目结构如下

具体内容如下:

StudenMapper.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" >
<mapper namespace="com.zimo.mybaties.dao.StudentMapper"><sql id="allColumns">stu_id,stu_num,name,birth_date</sql><sql id="table">student</sql><insert id="add" parameterType="com.zimo.mybaties.model.Student">INSERT INTO<include refid="table"/>(stu_id,stu_num,name,birth_date)VALUES(#{stuId},#{stuNum},#{name},#{birthDate})</insert>
</mapper>

StudentMapper interface

package com.zimo.mybaties.dao;import com.zimo.mybaties.model.Student;public interface StudentMapper {void add(Student student);
}

6.在MybatiesApplication启动类中加入注解@MapperScan,扫描所有的Mapper接口。

package com.zimo.mybaties;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan("com.zimo.mybaties.dao")
public class MybatiesApplication {public static void main(String[] args) {SpringApplication.run(MybatiesApplication.class, args);}
}

7.创建数据库,和类

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`(`stu_id` int(11) NOT NULL AUTO_INCREMENT,`stu_num` varchar(25) NOT NULL,`name` varchar(100) NOT NULL,`birth_date` bigint(20) NOT NULL,PRIMARY KEY (`stu_id`)
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4;

8.测试

package com.zimo.mybaties.dao;import com.zimo.mybaties.model.Student;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import static org.junit.Assert.*;@RunWith(SpringRunner.class)
@SpringBootTest
public class StudentMapperTest {@SuppressWarnings("all")@AutowiredStudentMapper studentMapper;@Testpublic void add() throws Exception {for (int i=0;i<10;i++)studentMapper.add(new Student("123"+i,"天涯"+i,777524356000l));}}

9.测试结果

  

转载于:https://www.cnblogs.com/wbq1113/p/9509643.html

SpringBoot + MyBaties 实现其XML方式相关推荐

  1. SpringBoot的MyBatis generator 注解方式和xml方式 (四)

    两种形式: XML方式 type="XMLMAPPER" 注解方式 type="ANNOTATEDMAPPER" 1.1 pom.xml里添加maven插件 & ...

  2. 快速搭建Springboot项目的两种方式!!

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...

  3. Mybatis之xml方式(一)

    文章目录 环境搭建 XML方式 mybatis-config 创建实体类 ***Mapper.xml 测试代码 读入mybatis-config 进行一次==curd==操作 错误信息及处理方法: 环 ...

  4. Spring IoC和DI XML方式 注解方式 依赖注入 AOP面向切面

    初识Spring框架 时代变迁 原始时代我们用一个jsp搞定一切,但如此开发大型项目时我们遇到了问题,前端美化的代码和后端的代码交织,代码中又有html.js.css样式,又有业务逻辑和数据库访问代码 ...

  5. Spring——Bean管理-xml方式进行属性注入

    目录 一.xml方式创建对象 二.xml方式注入属性 第①种方式注入:set方法注入 第②种方式注入:有参构造函数注入 constructor-arg:通过构造函数注入 用name标签属性: 不按照顺 ...

  6. Spring Bean、XML方式Bean配置、Bean实例化配置、Bean注入

    文章目录 Bean管理 一.SpringBoot Bean 初了解 1.1 了解 1.2 Bean的作用域 1.2.1 注意事项 1.3 第三方Bean 二. 基于XML方式Bean的配置 2.1 S ...

  7. xml方式整合SpringMVC 4整合 Hibernate4

    2019独角兽企业重金招聘Python工程师标准>>> 本项目是用xml方式使用SpringMVC框架,更常用的是annotation方式,这里仅作记录.用到的所有jar包如下: 项 ...

  8. MyBatis-05 MyBatis XML方式之update/delete元素

    概述 update 用法 UserMapper接口中增加接口方法 UserMapper.xml中配置update 元素 单元测试 delete用法 UserMapper接口中增加接口方法 UserMa ...

  9. MyBatis-04 MyBatis XML方式之insert元素

    insert概述 简单的insert用法 1. UserMapper中添加接口方法 2. UserMapper.xml 添加节点 3. 编写单元测试 使用JDCB方式返回主键自增的值 1.UserMa ...

  10. MyBatis-03 MyBatis XML方式之select元素

    概述 select用法 根据用户id查询用户信息 1.UserMapper接口中添加接口方法 2. UserMapper.xml中配置resultMap和select元素 查询全部的SysUser 添 ...

最新文章

  1. cuda图像处理_CUDA随笔之图像直方图(优化历程)
  2. IDC:以太网交换机市场增长2%
  3. linux下mkdir头文件_Linux部分常用命令学习记录
  4. 椭圆形中间一个大写的v_年轻人想要的出街姿态,新CR-V整的明明白白
  5. 在EXCEL中如何将一列中的相同值的数据行找出来?
  6. vue seo关键词设置_SEO关键词优化排名的几个技巧
  7. java对外发布接口文档_java之接口文档规范
  8. Win11将沿用Win10升级模式 并会有LTSC版本
  9. Java基础知识融合(Arraylist集合,多态,继承,封装,包装类,循环嵌套,if嵌套等等)
  10. 放大器非线性失真研究装置设计报告_活动 | 机电学子在2020年TI杯全国大学生电子设计竞赛中再创佳绩...
  11. 嵌入式Linux必读经典书籍
  12. 微信统一服务(小程序服务通知与微信公众号模板消息)发送
  13. 字节跳动视频面试经历
  14. 苹果cms影视建站系统免费吗?
  15. 《Computer Graphics with OpenGL》计算机图形学读书笔记 02——计算机图形学软件
  16. 卡布奇诺搭建教程_移动Web应用程序框架匹配,第2部分,探索卡布奇诺咖啡以进行移动Web应用程序开发
  17. 什么是DBMS,DB,DBMS?
  18. python in finance大作业及作答
  19. 求数列中的第1~k小元素
  20. web开发工具选择,html零基础入门书籍

热门文章

  1. 拓端tecdat|R语言社区主题检测算法应用案例
  2. 【C/C++】C++重复率最高、最经典面试题/笔试题(程序题篇)【持续更新】
  3. python中tolist()命令
  4. java IDEA 手动替换更新jar包
  5. $.ajax跳入error之 async
  6. java反射 javabean_Java反射之模仿JavaBean接收表单参数.
  7. linux内核配置usb虚拟串口,霍尼韦尔是否能提供USB串口仿真的Linux驱动程序?
  8. java 写文件缓存_使用java NIO及高速缓冲区写入文件过程解析
  9. 安卓能硬改的手机机型_这款iPhone手机专属特效AR相机,我真的爱了
  10. 文件服务器 选型,文件服务器选型