一、编程步骤

1、引入依赖

springboot相关依赖(略)、mybatis-spring-boot-starter、mysql、druid、lombook

  1. <dependency>
  2. <groupId>org.mybatis.spring.boot</groupId>
  3. <artifactId>mybatis-spring-boot-starter</artifactId>
  4. <version>2.1.4</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>mysql</groupId>
  8. <artifactId>mysql-connector-java</artifactId>
  9. </dependency>
  10. <dependency>
  11. <groupId>com.alibaba</groupId>
  12. <artifactId>druid</artifactId>
  13. <version>1.2.5</version>
  14. </dependency>
  15. <dependency>
  16. <groupId>org.projectlombok</groupId>
  17. <artifactId>lombok</artifactId>
  18. </dependency>

2、整合mybatis

1)建表

2)实体类:使用lombook

  1. @Data
  2. @Accessors(chain = true)
  3. @NoArgsConstructor
  4. @AllArgsConstructor
  5. public class User {
  6. private Integer id;
  7. private String name;
  8. private Integer age;
  9. private String email;
  10. }

3)DAO接口:接口抽象:BaseDao

  1. //BaseDao
  2. public interface BaseDao<T> {
  3. List<T> getAll();
  4. void insert(T t);
  5. }
  6.  
  7. //UserDao
  8. @Repository
  9. public interface UserDao extends BaseDao<User> {
  10. }

4)Mapper配置文件

  1. <!DOCTYPE mapper
  2. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.  
  5. <mapper namespace="com.icucoder.learn.dao.UserDao">
  6. <select id="getAll" resultType="user">
  7. select id, name, age, email
  8. from user;
  9. </select>
  10. <insert id="insert" parameterType="user">
  11. insert into user
  12. values (#{id}, #{name}, #{age}, #{email});
  13. </insert>
  14.  
  15. </mapper>

5)Service接口

  1. public interface UserService {
  2. List<User> getAll();
  3. void insert(User t);
  4. }

6)Service接口实现类

  1. @Service
  2. @Transactional
  3. public class UserServiceImpl implements UserService {
  4. @Autowired
  5. UserDao userDao;
  6.  
  7. @Override
  8. public List<User> getAll() {
  9. return userDao.getAll();
  10. }
  11.  
  12. @Override
  13. public void insert(User user) {
  14. System.out.println("insert success");
  15. userDao.insert(user);
  16. int i =1/0;
  17. }
  18. }

7)配置相关属性

(1)配置dao扫描位置

入口类上加上注解:@MapperScan("com.icucoder.learn.dao")//指定dao接口扫描位置

  1. @SpringBootApplication
  2. @MapperScan("com.icucoder.learn.dao")//指定dao接口扫描位置
  3. public class LearnApplication {
  4.  
  5. public static void main(String[] args) {
  6. SpringApplication.run(LearnApplication.class, args);
  7. }
  8.  
  9. }

(2)在application.properties中配置数据源和Mapper文件位置

  1. #数据源
  2. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  3. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  4. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot?characterEncoding=UTF-8&serverTimezone=UTC
  5. spring.datasource.username=root
  6. spring.datasource.password=xroot
  7. #Mapper文件位置
  8. mybatis.mapper-locations=classpath:mapper/*.xml
  9. mybatis.type-aliases-package=com.icucoder.learn.entity

8)编写Controller测试

  1. @RestController
  2. @RequestMapping("/user")
  3. public class UserController {
  4. @Autowired
  5. UserService userService;
  6.  
  7. @RequestMapping("/all")
  8. public List<User> all() {
  9. return userService.getAll();
  10. }
  11.  
  12. @RequestMapping("/insert")
  13. public String insertOne() {
  14. User user = new User(7, "mayun", 29, "admin@qq.com");
  15. userService.insert(user);
  16. return "insert success";
  17. }
  18. }

9)服务器附属并访问测试

http://127.0.0.1:8080/user/all

SpringBoot入门二:与Mybatis整合的更多相关文章

  1. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)

    http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...

  2. SpringMVC入门二:SSM整合(spring+springmvc+mybatis)

    一.编程步骤 1.引入依赖 spring.springmvc.mybatis.mybatis-spring.mysql.druid.log4j.servlet-api.jstl.fastjson 2. ...

  3. SpringBoot无废话入门04:MyBatis整合

    1.Parent引入及pom配置 首先,如果要支持mybatis,那么我们就应该引入mybatis的starter.同时,由于连接本身还需要用jdbc的connetor和连接池,所以一并需要引入这些依 ...

  4. springboot 入门二- 读取配置信息一

    在上篇入门中简单介绍下springboot启动使用了大量的默认配置,在实际开发过程中,经常需要启动多个服务,那端口如何手动修改呢? 此篇就是简单介绍相关的配置文件信息. Spring Boot允许外部 ...

  5. springboot(二)框架整合

    我们做web项目或者写api接口通常使用的是springmvc+spring+mybatis+mysql,那么使用springboot之后,默认是集成了所有的后台框架,只需要添加dependency依 ...

  6. SpringBoot(二)Web整合开发

    Spring Boot (二):Web 综合开发 本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源 ...

  7. SpringBoot入门教程(四)MyBatis generator 注解方式和xml方式

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  8. SpringBoot入门 (二) 属性文件读取

    在上一篇中介绍了在idea中创建springboot工程及使用web工程输出“helloworld”到前端页面,本文学习在springboot工程中读取属性文件中的属性值. 一 自定义属性 在appl ...

  9. SpringBoot入门(二):日志及自定义属性

    这一章主要说springboot中日志的配置.自定义属性的配置与读取.分环境的yml配置文件(如本地环境.测试环境.生产环境等).比较偏向实际开发,较为实用,前面一章的一些基本创建在这里就不多废话了. ...

随机推荐

  1. django之“static”全局设置

    1. 首先要配置静态文件路径(这些文件不输入任何app):. # 设置静态文件读取路径(这些静态文件不属于任何app) STATICFILES_DIRS = [ os.path.join(BASE_D ...

  2. MySQL 5.7.19 简易安装、卸载教程

    前言:传统的 exe 文件安装的MySQL,安装后特别难卸载,而且一旦处理不好,就容易出错,想再安装别的版本也不容易.因为这种方式的安装,虽然是不断的下一步,但是卸载的时候需要处理很多,在本文最后,有 ...

  3. pandas目录

    pandas目录 1 Lesson1--Pandas是什么 2 Lesson2--Pandas库下载和安装 3 Lesson3--Pandas Series结构 4 Lesson4--Pandas D ...

  4. H5 canvas 解决合成图模糊(canvas真机下scale不起作用,无法缩放显示的问题)

    在解决canvas合成图片模糊的问题想必我们已经了解了 window.devicePixelRatio      window接口的devicePixelRatio返回当前显示设备的物理像素分辨率与C ...

  5. Tomcat临时目录及java.io.tmpdir对应的目录

    最近客户现场的技术支持接连反馈了一个问题:导入数据的时候,上传的excel会在服务器上生成一个临时文件,而这个临时文件都在  tomcat 的安装目录下,如果上传次数比较多的话,就会导致tomcat安 ...

  6. git 撤销,放弃本地修改,放弃已提交修改

    一, 未使用 git add 缓存代码时. 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 &quo ...

  7. MySQL数据类型的最优选择

    MySQL数据类型的最优选择   慎重选择数据类型很重要.为啥哩?可以提高性能.原理如下:            ● 存储(内存.磁盘).从而节省I/O(检索相同数据情况下)      ● 计算.进而 ...

  8. Socket和数据库的一些使用---郭雪彬

    最近偶尔有时间,研究了下Socket的使用,虽然不简单,不过还是挺有意思,刚好咱们带头大哥需要我们发檄文,也罢,那就来一篇,废话不多说,直接入正题 struct sockaddr_in server_ ...

  9. 关于synchronized(this)中this指的是什么意思

    public class SynchronizedDEmo { public static void main(String[] args) { TestThread tt = new TestThr ...

  10. Nginx+Tomcat 实现负载均衡 ,动静分离集群部署

    Nginx + Tomcat 实现负载均衡,动静分离集群部署 1.Nginx实现负载均衡原理 2.Nginx配置反向代理主要参数 3.实验 1.Nginx实现负载均衡原理: Nginx服务器作为前端, ...