MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

注意:

mysql-connector-java 5.X版本与6.X包类的路径有很大区别,驱动类5.X(com.mysql.jdbc.Driver) 6.X(com.mysql.cj.jdbc.Driver),结合使用时,注意显式依赖。

springboot版本1.5.6.RELEASE是内含mysql-connector-java 5.1.34的版本

可以下载此简易封装的jar(增加些常用类型的转换,旧的时间calendar转换,统一处理枚举类型转换数值型)

源代码下载路径:https://gitee.com/zss_376987715/mybatis-dao

如何使用:

1、pom.xml导入依赖

  <dependency>
            <groupId>com.mybatis.dao</groupId>
            <artifactId>mybatis-dao</artifactId>
            <version>2.0.0-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.6</version><!--$NO-MVN-MAN-VER$-->
        </dependency>

2、需要枚举转成int存储的枚举 必需实现接口implements DescriptionID

3、添加mybatisConfig配置类

@Configuration
@PropertySource(value={"classpath:/config/jdbc_mysql.properties"},encoding="UTF-8",ignoreResourceNotFound=true) //数据库相关配置信息
@MapperScan("com.song.boot.mapper")//mybatis mapper接口包路径
public class MybatisConfig {

    @Autowired
    private Environment env;
    
    @Bean
    public FactoryConfig initDBConfig(){
        FactoryConfig config = new FactoryConfig();
        config.setJdbcDriverClass(env.getProperty("jdbc.driverClass"));
        config.setJdbcUrl(env.getProperty("jdbc.url"));
        config.setJdbcUsername(env.getProperty("jdbc.username"));
        config.setJdbcPassword(env.getProperty("jdbc.password"));
        
        config.setTypeAliasPackage("com.song.boot.domain");//需要映射的实体包路径
        config.setScanEnumPackage("com.song.boot.enumerated");//需要转换的枚举包路径
        return config;
    }
    
    @Bean
    public SessionFactoryConfig initSession(){
        return new SessionFactoryConfig();
    }
    
    @Bean
    public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException{
        return initSession().createSqlSessionFactoryBean();
    }   
}

相关代码:

public interface MemberMapper {

    @Select("select * from sale_member where account = #{account}")
    public Member queryMemberByAccount(String account);
    
    @Insert("insert into member(account,sex,lastLoginTime,birthday) "
            + " values(#{account},#{sex},#{lastLoginTime},#{birthday})")
    public int add(Member member);
}

@RestController
@RequestMapping("member")
public class MemberController {   
    @Autowired
    private MemberMapper memberMapper;

}

public class Member {
    private long id;
    private String account;
    private Sex sex;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastLoginTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate birthday ;
}

springboot 结合mybatis的更多相关文章

  1. SpringBoot整合MyBatis

    转载请在文章最上方加上此句话:原文地址:http://www.cnblogs.com/zhuxiaojie/p/5836159.html 前言:这段时间用springboot感觉确实挺好用的,很大程度 ...

  2. spring-boot整合mybatis(1)

    sprig-boot是一个微服务架构,加快了spring工程快速开发,以及简便了配置.接下来开始spring-boot与mybatis的整合. 1.创建一个maven工程命名为spring-boot- ...

  3. SpringBoot整合Mybatis之项目结构、数据源

    已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...

  4. Springboot与Mybatis整合

    最近自己用springboot和mybatis做了整合,记录一下: 1.先导入用到的jar包 <dependency> <groupId>org.springframework ...

  5. SpringBoot与Mybatis整合方式01(源码分析)

    前言:入职新公司,SpringBoot和Mybatis都被封装了一次,光用而不知道原理实在受不了,于是开始恶补源码,由于刚开始比较浅,存属娱乐,大神勿喷. 就如网上的流传的SpringBoot与Myb ...

  6. springboot+springmvc+mybatis项目整合

    介绍: 上篇给大家介绍了ssm多模块项目的搭建,在搭建过程中spring整合springmvc和mybatis时会有很多的东西需要我们进行配置,这样不仅浪费了时间,也比较容易出错,由于这样问题的产生, ...

  7. SpringBoot14 SpringBoot整合mybatis

    1 版本说明 springboot:2.0 jdk:1.8 2 创建springBoot项目 创建项目时勾选必要web,MySQL,mybatis相关依赖 创建完成后再pom文件中添加自动部署.lom ...

  8. springboot集成mybatis(二)

    上篇文章<springboot集成mybatis(一)>介绍了SpringBoot集成MyBatis注解版.本文还是使用上篇中的案例,咱们换个姿势来一遍^_^ 二.MyBatis配置版(X ...

  9. springboot集成mybatis(一)

    MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyB ...

  10. SpringBoot配置mybatis

    一直都说SpringBoot是零配置,当然,真正实现零配置是不可能的,但是在配置mybatis这里真的是太简单了,哈哈,下面我们一起看一下. 1.先导入基于SpringBoot的mybatis依赖包 ...

随机推荐

  1. python 小白(无编程基础,无计算机基础)的开发之路 day2

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. 移动端h5拍照压缩即时上传后台并预览

    项目经理让迭代一个功能,实时预览并上传到后台的功能,听到这立马想起了几个第三方插件去实现,mui  和api cloude万万没想到的是这个app前面使用ios 和安卓原生写的,然后mui和api c ...

  3. 【手记】让Fiddler抓取入站请求,或者叫用Fiddler做反向代理

    注意:本文不涉及HTTPS的场景 最近在弄公众号开发,除了主动去调公众号接口,还存在公众号后台要反过来调你的情形,攻受转换一线间.对于回调的情况,想要知道对方是怎样来请求的很有必要.此前经常用Fidd ...

  4. Kaggle实战之二分类问题

    0. 前言 1. MNIST 数据集 2. 二分类器 3. 效果评测 4. 多分类器与误差分析 5. Kaggle 实战 0. 前言 "尽管新技术新算法层出不穷,但是掌握好基础算法就能解决手 ...

  5. PHP+Redis 实例【一】点赞 + 热度 下篇

    这篇主要讲如何将数据保存回Mysql,但是里面还会涉及到如何将错误信息以及提示信息保存到文件里,方便以后的运维,再有就是如何使用PHP写进程BAT. Redis数据刷回数据库前的知识准备 首先针对上篇 ...

  6. 安装apache

    1.安装依赖软件 pcre gcc expat apr(Apache portable Run-time libraries,Apache可移植运行库) apr-util [root@localhos ...

  7. opencv摄像头捕获图像

    #include <iostream> #include <opencv2/opencv.hpp> using namespace cv; using namespace st ...

  8. TestLink使用

  9. React 页面间传值的个人总结

    react 组件之间传值的方案有很多,下面是我个人经验的总结 props 来传递值 传值方式: 通过props 获取值 通过props 提供的func去修改值 优点: 不需要任何第三方的组件,纯rea ...

  10. 深入理解php底层:php生命周期

    1.PHP的运行模式: PHP两种运行模式是WEB模式.CLI模式.无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行. 1.当我们在终端敲入php这个命令的时候,它使用的是CLI. 它就像 ...