SpringBoot + MyBaties 实现其XML方式
由于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方式相关推荐
- SpringBoot的MyBatis generator 注解方式和xml方式 (四)
两种形式: XML方式 type="XMLMAPPER" 注解方式 type="ANNOTATEDMAPPER" 1.1 pom.xml里添加maven插件 & ...
- 快速搭建Springboot项目的两种方式!!
大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...
- Mybatis之xml方式(一)
文章目录 环境搭建 XML方式 mybatis-config 创建实体类 ***Mapper.xml 测试代码 读入mybatis-config 进行一次==curd==操作 错误信息及处理方法: 环 ...
- Spring IoC和DI XML方式 注解方式 依赖注入 AOP面向切面
初识Spring框架 时代变迁 原始时代我们用一个jsp搞定一切,但如此开发大型项目时我们遇到了问题,前端美化的代码和后端的代码交织,代码中又有html.js.css样式,又有业务逻辑和数据库访问代码 ...
- Spring——Bean管理-xml方式进行属性注入
目录 一.xml方式创建对象 二.xml方式注入属性 第①种方式注入:set方法注入 第②种方式注入:有参构造函数注入 constructor-arg:通过构造函数注入 用name标签属性: 不按照顺 ...
- 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 ...
- xml方式整合SpringMVC 4整合 Hibernate4
2019独角兽企业重金招聘Python工程师标准>>> 本项目是用xml方式使用SpringMVC框架,更常用的是annotation方式,这里仅作记录.用到的所有jar包如下: 项 ...
- MyBatis-05 MyBatis XML方式之update/delete元素
概述 update 用法 UserMapper接口中增加接口方法 UserMapper.xml中配置update 元素 单元测试 delete用法 UserMapper接口中增加接口方法 UserMa ...
- MyBatis-04 MyBatis XML方式之insert元素
insert概述 简单的insert用法 1. UserMapper中添加接口方法 2. UserMapper.xml 添加节点 3. 编写单元测试 使用JDCB方式返回主键自增的值 1.UserMa ...
- MyBatis-03 MyBatis XML方式之select元素
概述 select用法 根据用户id查询用户信息 1.UserMapper接口中添加接口方法 2. UserMapper.xml中配置resultMap和select元素 查询全部的SysUser 添 ...
最新文章
- cuda图像处理_CUDA随笔之图像直方图(优化历程)
- IDC:以太网交换机市场增长2%
- linux下mkdir头文件_Linux部分常用命令学习记录
- 椭圆形中间一个大写的v_年轻人想要的出街姿态,新CR-V整的明明白白
- 在EXCEL中如何将一列中的相同值的数据行找出来?
- vue seo关键词设置_SEO关键词优化排名的几个技巧
- java对外发布接口文档_java之接口文档规范
- Win11将沿用Win10升级模式 并会有LTSC版本
- Java基础知识融合(Arraylist集合,多态,继承,封装,包装类,循环嵌套,if嵌套等等)
- 放大器非线性失真研究装置设计报告_活动 | 机电学子在2020年TI杯全国大学生电子设计竞赛中再创佳绩...
- 嵌入式Linux必读经典书籍
- 微信统一服务(小程序服务通知与微信公众号模板消息)发送
- 字节跳动视频面试经历
- 苹果cms影视建站系统免费吗?
- 《Computer Graphics with OpenGL》计算机图形学读书笔记 02——计算机图形学软件
- 卡布奇诺搭建教程_移动Web应用程序框架匹配,第2部分,探索卡布奇诺咖啡以进行移动Web应用程序开发
- 什么是DBMS,DB,DBMS?
- python in finance大作业及作答
- 求数列中的第1~k小元素
- web开发工具选择,html零基础入门书籍
热门文章
- 拓端tecdat|R语言社区主题检测算法应用案例
- 【C/C++】C++重复率最高、最经典面试题/笔试题(程序题篇)【持续更新】
- python中tolist()命令
- java IDEA 手动替换更新jar包
- $.ajax跳入error之 async
- java反射 javabean_Java反射之模仿JavaBean接收表单参数.
- linux内核配置usb虚拟串口,霍尼韦尔是否能提供USB串口仿真的Linux驱动程序?
- java 写文件缓存_使用java NIO及高速缓冲区写入文件过程解析
- 安卓能硬改的手机机型_这款iPhone手机专属特效AR相机,我真的爱了
- 文件服务器 选型,文件服务器选型