通用Mapper --- 快速入门

通用Mapper — 快速入门

>>>上一系列我们介绍完了MybatisPlus的使用
>>>接下来我们来介绍一下Mybatis中的最后一个内容–>通用Mapper
***作用:
替我们生成常用增删改查操作的 SQL 语句。
***代码官方发布地址:
https://gitee.com/free
https://gitee.com/free/Mapper/wikis/1.1-java?parent=1.integration
***前置知识:
  • MyBatis
  • Spring

快速入门:

一丶创建表

在这里插入图片描述

二丶创建实体类

在这里插入图片描述

三丶加入依赖
<dependency>
	<groupId>tk.mybatis</groupId>
	<artifactId>mapper</artifactId>
	<version>4.0.0-beta3</version>
</dependency>
四丶修改 Spring 配置文件(其他配置内容和之前一致)
	<!-- 整合通用Mapper所需要做的配置修改: -->
	<!-- 原始全类名:org.mybatis.spring.mapper.MapperScannerConfigurer -->
	<!-- 通用Mapper使用:tk.mybatis.spring.mapper.MapperScannerConfigurer -->
	<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="life.cbuc.mappers"/>
	</bean>
五丶自定义的Mapper需要继承通用 Mapper 提供的核心接口:Mapper<Employee>
/**
 * 具体操作数据库的Mapper接口,需要继承通用Mapper提供的核心接口:Mapper<Employee>
 * 泛型类型就是实体类的类型
 * @author Lenovo
 *
 */
public interface EmployeeMapper extends Mapper<Employee> {}
六丶常用注解
1)@Table 注解
作用:建立实体类和数据库表之间的对应关系。
默认规则:实体类类名首字母小写作为表名。
Employee 类→employee 表。
用法:在@Table 注解的 name 属性中指定目标数据库表的表名

在这里插入图片描述

2)@Column 注解
作用:建立实体类字段和数据库表字段之间的对应关系。
默认规则:

实体类字段:驼峰式命名
数据库表字段:使用“_”区分各个单词

用法:在@Column 注解的 name 属性中指定目标字段的字段名

在这里插入图片描述

3)@Id 注解
作用:明确标记和数据库表中主键字段对应的实体类字段。

在这里插入图片描述

4)@GeneratedValue 注解
作用:让通用 Mapper 在执行 insert 操作之后将数据库自动生成的主键值回写到实 体类对象中。

在这里插入图片描述

5)@Transient 主键
作用:用于标记不与数据库表字段对应的实体类字段。

在这里插入图片描述

七丶常用方法
1)selectOne 方法
@Test
	public void testSelectOne() {
		//1.创建封装查询条件的实体类对象
		Employee employeeQueryCondition = new Employee(null, "cbuc", 5500, null);
		//2.执行查询
		Employee employeeQueryResult = employeeService.selectOne(employeeQueryCondition);
		System.out.println(employeeQueryResult);
	}
2)xxxByPrimaryKey 方法
@Test
	public void testSelectByPrimaryKey() {
		//1.提供id值
		Integer empId = 3;
		//2.执行根据主键进行的查询
		Employee employee = employeeService.getEmployeeById(empId);
		System.out.println(employee);
	}
3)xxxSelective 方法

非主键字段如果为 null 值,则不加入到 SQL 语句中。

八丶QBC查询
@Test
	public void testSelectByExample() {
		
		//目标:WHERE (emp_salary>? AND emp_age<?) OR (emp_salary<? AND emp_age>?)
		//1.创建Example对象
		Example example = new Example(Employee.class);
		
		//***********************
		//i.设置排序信息
		example.orderBy("empSalary").asc().orderBy("empAge").desc();
		
		//ii.设置“去重”
		example.setDistinct(true);
		
		//iii.设置select字段
		example.selectProperties("empName","empSalary");
		
		//***********************
		
		//2.通过Example对象创建Criteria对象
		Criteria criteria01 = example.createCriteria();
		Criteria criteria02 = example.createCriteria();
		
		//3.在两个Criteria对象中分别设置查询条件
		//property参数:实体类的属性名
		//value参数:实体类的属性值
		criteria01.andGreaterThan("empSalary", 3000)
				  .andLessThan("empAge", 25);
		
		criteria02.andLessThan("empSalary", 5000)
				  .andGreaterThan("empAge", 30);
		
		//4.使用OR关键词组装两个Criteria对象
		example.or(criteria02);
		
		//5.执行查询
		List<Employee> empList = employeeService.getEmpListByExample(example);
		
		for (Employee employee : empList) {
			System.out.println(employee);
		}
	}

END…

以上就是通用Mapper的快速使用,欢迎参考交流…

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值