zoukankan      html  css  js  c++  java
  • springboot集成mybatis

    springboot如何配置web项目请参考前一章,在此基础上集成mybatis。

    在pom文件中添加mybatis的依赖:

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

    添加mysql驱动:

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

    添加druid和fastjson依赖,使用阿里巴巴druid连接池

        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.0.28</version>
        </dependency>
        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.2.30</version>
        </dependency>

    配置数据源,在application.yml中:

    spring:
        datasource:
            name: test
            url: jdbc:mysql://127.0.0.1:3306/test
            username: root
            password: 111111
            # 使用druid数据源
            type: com.alibaba.druid.pool.DruidDataSource
            driver-class-name: com.mysql.jdbc.Driver
            filters: stat
            maxActive: 20
            initialSize: 1
            maxWait: 60000
            minIdle: 1
            timeBetweenEvictionRunsMillis: 60000
            minEvictableIdleTimeMillis: 300000
            validationQuery: select 'x'
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            poolPreparedStatements: true
            maxOpenPreparedStatements: 20

    设置mybatis的mapper和model扫描路径:

    mybatis:
        mapperLocations: classpath:mapper/*.xml
        typeAliasesPackage: com.yingxinhuitong.demo.model
    #更多配置请参见:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/

    接下来我们新建userMapper.xml,UserEntity以及UserDao:

     1 package com.yingxinhuitong.demo.model;
     2 
     3 /**
     4  * Created by jack on 2017/4/20.
     5  */
     6 public class UserEntity {
     7   private Long id;
     8   private String username;
     9   private String password;
    10 
    11   public Long getId() {
    12     return id;
    13   }
    14 
    15   public void setId(Long id) {
    16     this.id = id;
    17   }
    18 
    19   public String getUsername() {
    20     return username;
    21   }
    22 
    23   public void setUsername(String username) {
    24     this.username = username;
    25   }
    26 
    27   public String getPassword() {
    28     return password;
    29   }
    30 
    31   public void setPassword(String password) {
    32     this.password = password;
    33   }
    34 }
    UserEntity.class
    package com.yingxinhuitong.demo.dao;
    
    import com.yingxinhuitong.demo.model.UserEntity;
    import org.apache.ibatis.annotations.Mapper;
    
    import java.util.List;
    
    /**
     * Created by jack on 2017/4/20.
     */
    @Mapper
    public interface UserDao {
      List<UserEntity> searchAll();
    }
    UserDao
    <?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.yingxinhuitong.demo.dao.UserDao" >
      <!-- 字段与实体的映射 -->
      <resultMap id="BaseResultMap" type="com.yingxinhuitong.demo.model.UserEntity">
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="username" property="username" jdbcType="VARCHAR" />
        <result column="password" property="password" jdbcType="VARCHAR" />
      </resultMap>
      <!-- 根据条件查询,全部 -->
      <select id="searchAll" resultMap="BaseResultMap">
        select * from tab_user
      </select>
    
    </mapper>
    UserMapper.xml

    创建一个控制器,注入UserDao,测试一下可不可以查询数据了:

     1 @RestController
     2 public class TestController {
     3 
     4   @Resource
     5   UserDao userDao;
     6 
     7   @RequestMapping("/getusers")
     8   public String test() {
     9     List<UserEntity> users = userDao.searchAll();
    10     String usersJson = JSON.toJSONString(users);
    11     return usersJson;
    12   }
    13 }

    运行Application.class,启动成功后访问:http://localhost:9000/demo/getusers,输出内容如下:

    [{"id":1,"password":"000000","username":"test"},{"id":2,"password":"111111","username":"test1"},{"id":3,"password":"222222","username":"test2"}]

    至此,springboot已完成对mybatis的集成。

    关注老姜谈技术,微信号:helojava,或者扫描下面二维码。

    代码改变世界。

  • 相关阅读:
    我的书单
    写一个小demo过程中遇到的各种问题 学生管理考勤系统(网页模拟)
    高程三 面向对象程序设计
    JavaScript 函数与对象的 简单区别
    高程三 基本包装类型部分的学习
    巨简单巨丑的计算器(写的我快自闭了)
    checked选择器实现tab切换
    JavaScript进行简单的随即验证码生成(适合和我一样刚入门一本完整的教材书都没看完的弟弟)
    dom编程艺术章12
    vue插件开发与发布
  • 原文地址:https://www.cnblogs.com/jiangkuan/p/6737131.html
Copyright © 2011-2022 走看看