MyBatis是个啥
非常有必要了解一下一个严谨的网站(mybatis中文官方网站)
简单说明
- MyBatis是一款优秀的持久层框架,它优秀就优秀在,MyBatis是一种ORM(Object Relational Mapping 对象关系映射)的面向对象的持久层框架
- MyBatis里内置了一些数据库连接池,封装了JDBC
- MyBatis支持自定义的SQL、存储过程以及高级映射
- MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作
- MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通老式Java对象)为数据库记录
入门
一个大致的步骤如下
- 创建一个maven工程
- 在pom.xml文件中添加必要的依赖(数据库依赖和mybatis依赖)
- 配置数据库连接池文件(手动编写连接或连接池)
- 获取mybatis的会话对象Session(Session中含有Connection)
- 配置对象关系映射,mybatis会帮助我们封装返回结果(使用xml文件或注解方式,注解不常用)
- 将sql语句编写在xml文件中
最终的文件结构如下图:
创建maven工程
在这里使用的是cmd命令行创建的方式
cmd命令行到心仪的文件夹目录下,使用以下命令创建maven工程
mvn archetype:generate
添加依赖
在整个maven项目的pom.xml文件中添加依赖
XML方式配置数据库连接池
新建resources文件夹,用来存储一些资源文件
新建mybatis.cfg.xml文件进行数据库连接池的配置
文件内容可以从官方网站拷贝
获取mybatis的会话对象Session
每个基于MyBatis的应用都是以SqlSessionFactroy的实例为核心的,SqlSessionFactory的实例可以通过SqlSessionFactroyBuilder获得,而SqlSessionFactoryBuilder可以从XML配置文件或一个预先配置的Configuration实例老构建SqlSessionFactory实例,实质上是一个工厂模式
以下我们选择使用XML文件的方式构建SqlSessionFactory的实例
创建新的类SqlfactoryUtil
配置对象关系映射
-
创建javabean
数据库中表结构如下:
那么在java中需要一个与数据表相对应的类User
-
创建mapper查询接口
-
编写对象映射关系文件 UserMapper.xml
首先配置与Mapper接口中方法的映射(当不需要映射列名和属性名时)
当数据表中的字段名和User中的属性名不同时,则需要在mybatis的配置文件中进行配置,如数据表中的create_time字段对应的实际是采用驼峰命名法的User中的createTime属性
- 在mybatis.cfg.xml中添加映射
将对象映射关系文件(UserMapper.xml)的路径配置在mybatis.cfg.xml中
调用查询接口
在主方法main中
运行后结果
可以看出与数据库中的数据一致