对于初学者,如果进行mybatis的学习呢?我总结了几点,会慢慢的更新出来。首先大家需要了解mybatis是什么、用mybatis来做什么、为什么要用mybatis、有什么优缺点;当知道了为什么的时候就开始了解如何用的问题,如何使用mybatis、有几种使用方式、各种方式的优缺点,在这个阶段也会学习mybatis涉及到的一些标签的用法;当知道了基础用法之后,就开始接触一些高级的用法,例如动态sql的使用、mybatis的缓存使用等;至此,在实战项目中使用mybatis进行开发已经没有问题了。

接下来就开始深入的研究一下mybatis这个持久层的框架,在纯技术的方面进行研究,提高自己的能力。首先,大家需要了解一下mybatis的整体技术架构和工作原理;接下来,就开始了解一下mybatis各大核心组件的具体功能及其工作原理。至此,算是对mybatis的原理简单的了解一下了,由于博主的能力有限,因此对于mybatis的框架技术研究也就到这里算结束了。

最后会了解一些其他的东西,例如:mybatis的逆向工程使用、如何开发一个mybatis插件,在这里会介绍一下mybatis的分页实现等。

至此,mybatis也算是入门了,出去就可以和别人说,你稍微了解mybatis框架,对其也多少有一点自己的理解和看法了。

目录

1、创建并实例化配置类,获取到SqlSessionFactory

2、添加sql映射文件,需要与对应的接口在统一目录下

3、进行数据查询操作


上一节 说到通过mybatis的全局配置文件 mybatis-config.xml 进行mybatis的配置,在启动应用时,mybatis会自动解析 mybatis-config.xml 进行初始化,其实这个过程就是 解析配置文件,实例化配置类 Configuration 的过程。

基于此,可以不通过全局配置文件初始化mybatis,而通过Configuration配置类实现,具体操作如下:

1、创建并实例化配置类,获取到SqlSessionFactory

public static SqlSessionFactory buildSqlSessionFactory(){SqlSessionFactory sqlSessionFactory = null;// 准备数据源连接信息DataSource dataSource = new PooledDataSource("com.mysql.cj.jdbc.Driver","jdbc:mysql://localhost:3306/app-oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT","root","*******");// 准备事务管理TransactionFactory transactionFactory = new JdbcTransactionFactory();// 构建一个环境Environment environment = new Environment("development" , transactionFactory, dataSource);// 实例化配置类Configuration configuration = new Configuration(environment);// 注册映射器类configuration.addMapper(UserMapper.class);// 获取SqlSessionFactory, 实例化结束sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);return sqlSessionFactory;
}

2、添加sql映射文件,需要与对应的接口在统一目录下

3、进行数据查询操作

public static void main(String[] args) throws IOException {// 获取 SqlSessionFactorySqlSessionFactory sqlSessionFactory = MybatisConfig.buildSqlSessionFactory();// 获取 SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession();// 通过SqlSession进行接下来的数据处理操作UserMapper mapper = sqlSession.getMapper(UserMapper.class);User user = mapper.selectUser(5L);// 关闭 SqlSessionsqlSession.close();System.out.println(user);
}

这个就不详细介绍了,会用即可,如果感兴趣,可以看一下源码是如何处理。

4、mybatis通过配置类Configuration 实现初始化相关推荐

  1. 配置类Configuration

    配置类@Configuration 01.概述 配置类:在springboot中被@Configuration或者@SpringBootConfiguration标注的类称之为配置类. 02.作用&a ...

  2. Spring Cloud + Mybatis配置类设置

    spring cloud 继承mybatis相关配置类 /*** 该类配置数据源相关属性*/ @ConfigurationProperties(prefix = DataSourcePropertie ...

  3. ssm注解配置连接mysql_基于注解和配置类的SSM(Spring+SpringMVC+Mybatis)项目详细配置...

    在上一篇文章中介绍了使用注解和xml配置文件对项目进行配置,在这篇文章中将xml配置文件中的配置信息都改成使用注解或者配置类的形式. 第一步.配置pom.xml 在一个ssm项目中,可能需要用到的依赖 ...

  4. springfox源码_springfox 源码分析(四) 配置类初始化

    时间:2019-5-23 12:46:50 地点:单位.家中 @EnableSwagger2 有了二三章的理解,此时我们再来看EnableSwagger2注解的内容 @Retention(value ...

  5. 软件框架SpringBoot-实现使用@Component@Data@Configuration@Bean(配置类控制类实体类)等方法实现将配置文件从8080端口显示在网页上

    一.前言 1.该程序代码是使用idea2021.12版本编写的,若使用其他软件请对照好配置: 2.这个程序具体的内容我忘了,只知道使用@Component@ConfigurationPropertie ...

  6. 【Spring第七篇】Java配置类:JavaConfig

    Java配置类:JavaConfig 在spring配置中 applicationContext.xml <?xml version="1.0" encoding=" ...

  7. MyBatis关键配置

    我们先看一下把MyBatis 集成到Spring 中要做的几件事情. 为了让大家看起来更直观,这里我们依旧用传统的xml 配置给大家来做讲解,当然使用配置类@Configuration 效果也是一样的 ...

  8. SpringBoot自定义Starter(自动配置类)

    前言 SpringBoot其实从诞生以来围绕的核心就是快速构建项目,快速构建的前提是有人帮你做好轮子,开发者只要拿来即用就好了,而造好轮子的人就是SpringBoot的开发者,引入自动配置的形式帮助开 ...

  9. @param注解的用法解析_SpringBoot 配置类解析

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/NvPO5-FWLiOlrsOf4wLaJA 作者:Li Wanghong SpringBoot ...

最新文章

  1. 使用线程池时一定要注意的五个点
  2. mysql系列十、mysql索引结构的实现B+树/B-树原理
  3. golang中的strings.EqualFold
  4. Asp.Net MVC项目通过Git同步到新开发设备上后无法作为网站启动
  5. 论文浅尝 | SenticNet 5: 借助上下文嵌入信息为情感分析发现概念级别的原语
  6. ping不通Linux系统解决方法
  7. SVG 教程 (三)圆形,椭圆,直线
  8. PHP三年15K,程序员月薪15K相亲三年才成功,被拒理由:这个薪资提鞋都嫌弃
  9. Sage CRM升级注意事项二
  10. MonkeyScript使用教程
  11. 万字干货:阿里巴巴是怎么做大数据算法应用测试的? | 凌云时刻
  12. 南海区妇幼保健院HIS数据容灾备份系统项目
  13. 诺基亚N1 WIFI感叹号消除
  14. 中南大学2019计算机研究生分数线,2019中南大学研究生分数线(含2016-2019历年复试)...
  15. dexpathlist.java_java.lang.ClassNotFoundException: Didn't find class xxx on path: DexPathList
  16. IPEmotion新增功能:交流电功率分析计算
  17. 微信公众号获取的实时坐标和高德地图坐标系的转换
  18. 微信html5电子相册,如何快速制作微信H5电子相册?
  19. 典型相关分析(Canonical Correlation Analysis, CCA)
  20. 多宽带联网(三) OpenWrt中使用cURL方法编写Shell脚本自动完成网页宽带认证登录(校园网认证登录解决方案) 使用awk命令

热门文章

  1. 图的最小生成树和最短路径算法思路总结(Prim,Kruskal,Dijkstra,Floyd)
  2. 科学家的假想-substr的妙用
  3. FatMouse and Cheese HDU - 1078(记忆化搜索入门模板)
  4. 数据结构与算法--二叉查找树转顺序排列双向链表
  5. java获取主机信息大全,网络编程:Java获取网络主机信息
  6. Word List 26
  7. 大学计算机基础英语翻译,大学计算机基础 教学课件 978 7 302 21247 8 第7章 常用工具软件.pdf...
  8. openresty+mysql+乱码_openresty记录响应body乱码问题
  9. 兰州大学第一届 飞马杯 ★★飞马祝福语★★ 线段树维护dp(动态dp)
  10. P6348 [PA2011]Journeys 线段树优化建图 区间连区间