> 文章列表 > mybatis数据库

mybatis数据库

mybatis数据库

什么是MyBatis

MyBatis是一个开源的持久层框架,它对JDBC进行了封装,简化了SQL的开发。MyBatis允许用户将SQL语句与Java对象进行绑定映射,参数与结果集处理都可以使用Java编写,提高了代码的可维护性和阅读性。

MyBatis的优点

MyBatis有很多优点,比如:

  • 简单易用: MyBatis的学习曲线较低,上手相对简单。
  • 灵活性: MyBatis允许用户直接编写SQL语句,可以对SQL进行更细致的控制,对于复杂的业务需求具备更强的灵活性和扩展性。
  • 易于维护:MyBatis将SQL语句与Java代码隔离开,维护起来更加方便。在SQL表达式调整或者更改数据库字段的情况下,Java程序员不需要修改程序代码,仅仅修改SQL语句就可以了。
  • 高效性:MyBatis与Hibernate等ORM工具相比,其实现逻辑更加轻量级。MyBatis是一个简洁的工具,直接编写sql语句,性能上具备优势。
  • 可扩展性: MyBatis框架具有高度的可扩展性,用户可以通过自定义函数、自定义类型、自定义插件等几种方式来扩展。

MyBatis的体系结构

MyBatis可以分为三个层次:API、核心配置和SQL映射文件。

API:主要包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper等核心类,提供了对数据库CRUD操作的接口。

核心配置:包括全局配置文件和映射文件两个部分。全局配置文件主要包括dataSource、TransactionManager、plugins、typeAliases等配置,映射文件主要包含了具体的sql语句以及映射关系。

SQL映射文件:用于存放SQL语句以及映射关系的文件,映射关系将Java对象与数据库中的记录进行了映射。

MyBatis的配置

MyBatis的配置主要包括以下几个部分:

  • 数据源配置:驱动类型、数据库名称、连接地址、账号和密码。
  • 全局属性配置:默认自动提交、缓存类型、日志实现等。
  • 类型别名配置:Java类型与JDBC类型的对应关系。
  • Mapper映射器配置:包含了mapper.xml文件的位置、使用的缓存方式等。
  • 自定义插件配置:通过自定义插件可以对MyBatis在执行SQL的过程中进行拦截,可以实现自定义的功能。

MyBatis的使用

MyBatis的使用分为以下几个步骤:

  1. 配置数据源和全局属性,创建SqlSessionFactory对象。
  2. 创建SqlSession对象,通过SqlSessionFactory.openSession()方法创建。
  3. 通过SqlSession执行SQL语句,并获取结果。
  4. 关闭SqlSession对象。

示例代码如下:

InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();try {  UserMapper userMapper = sqlSession.getMapper(UserMapper.class);  User user = userMapper.selectByPrimaryKey(1L);  System.out.println(user.toString());} finally {  sqlSession.close();}