Mybatis映射文件规则实例详解
目录
- 1.ORM概念
- 2.映射文件命名规则
- 3.Mybatis的两个一致
- 4.总结创建mybatis的步骤
- 补充:MyBatis_自定义结果映射规则
- 总结
【Mybatis映射文件规则实例详解】
1.ORM概念 ORM(Object Relationship Mapping)对象关系映射
对象:Java的实体类对象
关系:关系型数据库
映射:二者之间的对应关系
字段名和属性名要一一对应才可以,它们的名字要相同,底层调用的是反射机制
Java概念 | 数据库概念 |
---|---|
属性 | 列,字段 |
类 | 表 |
对象 | 记录 |
2.映射文件命名规则 表对应的实体类的类名+Mapper.xml
举例:假如数据库的表的名字是t_user,它对应的实体类是User,那么对应的映射文件为UserMapper.xml
一个映射文件对应一个实体类,对应一张表的操作,调用Mapper中的方法就是来执行SQL
Mybatis映射文件用来写SQL语句,访问和操作表的数据
Mybatis映射文件存放位置是src/main/resources/mappers目录下面
3.Mybatis的两个一致 Mybatis可以面向接口操作数据,如果我们以包为单位引入映射文件,需要有两个一致
① 映射文件的namespace要和mapper接口的全类名一致
当调用Mapper接口中的方法,它会先根据Mapper接口的全类名去找到映射文件,然后根据方法名去找到对应的SQL语句
②映射文件中SQL语句的id要和mapper接口中的方法名一致
文章图片
4.总结创建mybatis的步骤
- 创建maven工程
- 在pom.xml中引入相关依赖,比如数据库驱动,mybatis,junit单元测试,log4j日志
- 在src/main/java建包
- 3.1 在pojo包下面创建对应的实体类
注:实体类对应数据库表的记录
也就是说数据库查询出来的结果要以什么方式返回 - 3.2 在mapper包下面创建mapper接口,里面定义操作数据库中表的相关方法
- 3.1 在pojo包下面创建对应的实体类
- 在resources目录下面建mybatis的核心配置文件
4.在resources目录下面建立mapper映射文件
文章图片
5.测试
//加载核心配置文件InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); //获取SqlSessionFactoryBuilderSqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); //获取SqlSessionFactory 工厂模式SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is); //获取mybatis操作的会话对象//sqlSession默认是不自动提交事务的,如果我们写上参数true,就代表自动提交SqlSession sqlSession = sqlSessionFactory.openSession(true); //获取mapper接口的对象UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.insertUser(); //提交事务//sqlSession.commit(); System.out.println("结果:"+i);
补充:MyBatis_自定义结果映射规则 自定义resultMap,实现高级结果集映射
在EmployeeMapperPlus.xml中有:
package com.atguigu.mybatis.dao; import java.util.List; import com.atguigu.mybatis.bean.Employee; public interface EmployeeMapperPlus {public Employee getEmpById(Integer id); }
在EmployeeMapperPlus.xml中实现方法:
select * from tbl_employee where id=#{id}
测试:
先把驼峰命名法关了,或者注释掉也可以
@Testpublic void test05() throws IOException{SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); SqlSession openSession = sqlSessionFactory.openSession(); try{EmployeeMapperPlus mapper = openSession.getMapper(EmployeeMapperPlus.class); Employee empById = mapper.getEmpById(1); System.out.println(empById); }finally{openSession.close(); }}
即使把驼峰命名关了还是可以按照我们自定义的规则封装成功的
文章图片
总结 到此这篇关于Mybatis映射文件规则的文章就介绍到这了,更多相关Mybatis映射文件规则内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 自定义控件(通过代码或者xib文件)
- c++|c++17操作文件并解析目录
- 数据仓库|Hive、SparkSQL是如何决定写文件的数量的()
- HIVE|Hive配置文件中配置项的含义详解
- 关于python如何引用excel文件
- mongodb|宝塔修改配置文件启用mongodb密码验证
- 后端冲鸭|MybatisPlus代码生成器
- Java小知识难点解析|MybatisPlus之代码生成器模板
- mybtais-plus|MyBatisPlus中的代码生成器
- MyBatis|MyBatisPlus的代码生成器