1 选择mysql驱动

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>

2 选择mybatis orm

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>

3 配置mysql和mybatis

spring.datasource.url=jdbc:mysql://localhost:3306/springbootdb?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis.mapperLocations=classpath:mapper/*.xml

4 Mapper和Mapper xml

它们是一一对应的,Mapper xml中负责sql的编写,Mapper负责在业务中执行相应的操作。

package com.hello.springboot.mapper;
import com.hello.springboot.entity.User;
import java.util.List;
public interface UserMapper { List<User> findAll(); User findById(Long id); void insert(User user); void update(User user); void delete(Long id); }

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespace是命名空间,是mapper接口的全路径-->
<mapper namespace="com.hello.springboot.mapper.UserMapper">

// 注意,这里的namespace和对应的dao的接口名一致。 <!--resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象--> <resultMap id="userResultMap" type="com.hello.springboot.entity.User"> <id property="name" column="username"></id> </resultMap> <!--sql – 可被其他语句引用的可重用语句块--> <sql id="colums"> id,username,age,pwd </sql> <select id="findAll" resultMap="userResultMap"> select <include refid="colums" /> from user </select> <select id="findById" resultMap="userResultMap"> select <include refid="colums" /> from user where id=#{id} </select> <insert id="insert" parameterType="com.hello.springboot.entity.User" > INSERT INTO user (username,age,pwd) VALUES (#{name}, #{age}, #{pwd}) </insert> <update id="update" parameterType="com.hello.springboot.entity.User" > UPDATE users SET <if test="username != null">username = #{username},</if> <if test="pwd != null">pwd = #{pwd},</if> username = #{username} WHERE id = #{id} </update> <delete id="delete" parameterType="java.lang.Long" > DELETE FROM user WHERE id =#{id} </delete> </mapper>

三点要注意:

第一,Mapper xml中的namespace就是Mapper接口;

第二,Mapper接口中的方法的名字要和Mapper xml中操作的名字一样;

第三,注意参数;

5 在代码中使用dao层的接口

@Resource

UserMapper userMapper;

6 在Application类中加上注释

即Mappers所在的目录,必须要加上这个注释,否则spring发现不了这个bean。

@MapperScan("xxx.mapper")

转载于:https://www.cnblogs.com/hustdc/p/10064792.html

spring boot mysql和mybatis相关推荐

  1. Spring Boot项目利用MyBatis Generator进行数据层代码自动生成

    概 述 MyBatis Generator (简称 MBG) 是一个用于 MyBatis和 iBATIS的代码生成器.它可以为 MyBatis的所有版本以及 2.2.0之后的 iBATIS版本自动生成 ...

  2. spring boot+MySQL婚纱影楼管理系统vue

        博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 spring boot+MySQL婚纱影楼管理系统vue 演示视频 视频去 ...

  3. Spring Boot(七):Mybatis 多数据源最简解决方案

    Spring Boot(七):Mybatis 多数据源最简解决方案 参考文章: (1)Spring Boot(七):Mybatis 多数据源最简解决方案 (2)https://www.cnblogs. ...

  4. Spring Boot中使用MyBatis注解配置详解

    之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见 ...

  5. FW: How to use Hibernate Lazy Fetch and Eager Fetch Type – Spring Boot + MySQL

    原帖 https://grokonez.com/hibernate/use-hibernate-lazy-fetch-eager-fetch-type-spring-boot-mysql In the ...

  6. Spring Boot+Mysql实现的电影在线资讯系统

    今天给大家演示的是一个由spring boot+mysql实现的在线电影资讯网站项目 主要功能有用户浏览搜索查看电影资讯,管理员登录后管理电影相关信息等,其中在电影发布页面可以插入优酷等网站的视频进行 ...

  7. 【java毕业设计】基于Spring Boot+mysql的线上教学平台系统设计与实现(程序源码)-线上教学平台

    基于Spring Boot+mysql的线上教学平台系统设计与实现(程序源码+毕业论文) 大家好,今天给大家介绍基于Spring Boot+mysql的线上教学平台系统设计与实现,本论文只截取部分文章 ...

  8. 【java毕业设计】基于Spring Boot+mysql的酒店管理系统设计与实现(程序源码+毕业论文)-酒店管理系统

    基于Spring Boot+mysql的酒店管理系统设计与实现(程序源码+毕业论文) 大家好,今天给大家介绍基于Spring Boot+mysql的酒店管理系统设计与实现,本论文只截取部分文章重点,文 ...

  9. Spring Boot:实现MyBatis分页

    综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍 ...

最新文章

  1. 收录对网站优化起到什么作用?
  2. 论numpy中matrix 和 array的区别
  3. Tuple解决在视图中通过razor获取控制器传递给视图的匿名对象的报错问题
  4. 解决ubuntu系统root用户下Chrome无法启动问题
  5. 百度图神经网络学习——day03:图神经网络算法(一)
  6. Python的JAVA胶水——jpype
  7. Atitit 编程范式总结 目录 1.1.1. IP(Imperative Programming)指令式编程 1 1.1.2. SP(Structured Programming)结构化编程 2 1
  8. linux系统怎么组内网,Linux/Unix操作系统处于内网的桌面控制
  9. 详细安装sqlmap详细教程
  10. DosBox装Windows98
  11. WebStorm和VSCode配置
  12. OSChina 周一乱弹 —— 程序猿到底是多有才?
  13. 日记侠:原来写文章竟然是为了这个
  14. 螺旋桨k线是什么意思?底部螺旋桨k线形态特征是什么
  15. android 常用模块,超实用的几款Xposed模块,安卓发烧必备
  16. 学习笔记之——针孔相机模型及单应性矩阵
  17. gcc用-O0优化无问题,-O3优化时程序崩溃的问题
  18. 成都五月花计算机专业学校正规吗,成都市|成都市五月花计算机专业学校怎么样...
  19. POJ - 2528 (线段树区间染色 + 离散化)
  20. 2022云南师范大学333教育综合考研真题

热门文章

  1. BZOJ 1492: [NOI2007]货币兑换Cash [CDQ分治 斜率优化DP]
  2. GBin1分享:jQuery新手技巧之“避免过多使用$('.someclass')”
  3. 举两个栗子:如何正确建立个人的机器学习项目集
  4. Linkedin 工程师如何优化他们的 Java 代码
  5. BootstrapTable
  6. 使用c语言标准库中的时间函数
  7. 【Git入门之一】Git是神马?
  8. 使用Active Directory的常见问题2
  9. outlook express 邮件超过2G时的解决方法
  10. 三层代码讲解--第一课