目录
3、在mybatis映射接口的配置中(resultType和parameterType的用法)
4、@EqualsAndHashCode(callSuper = false)
1、EasyPoi基础功能常见的五个注解
(1)@Excel:作用到filed上面,是对Excel一列的一个描述
(2)@ExcelCollection:表示一个集合,主要针对一对多的导出,比如一个老师对应多个科目,科目 就可以用集合表示
(3)@ExcelEntity:表示一个继续深入导出的实体,但他没有太多的实际意义,只是告诉系统这个对象里面同样有导出的字段
(4)@Excellgnore:表示这个字段被忽略跳过这个--->导出
(5)@ExcelTarget:作用于最外层的对象,描述这个对象的id,以便支持一个对象可以针对不同导出做出不同处理
2、@Component:标注一个类为Spring容器的Bean,(把普通pojo实例化到Spring容器中,相当于配置文件中的<bean id = " " class = " " />)
3、在mybatis映射接口的配置中(resultType和parameterType的用法)
resultType和parameterType的用法:
resultType:比如要根据id属性获取数据库中的某个字段值。
parameterType:为输入参数
mapper接口:
package com.krt.epc.mapper;
import com.krt.epc.entity.EpcUser;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public interface EpcUserMapper {
//查询所有Excel数据
List<EpcUser> findAll();
//导入excel数据到数据库
void saveAll(EpcUser epcUser);
}
SQL映射文件:
<mapper namespace="com.krt.epc.mapper.EpcUserMapper">
<!--查询所有excel数据-->
<!--
通过resultType指定查询的结果是com.krt.epc.entity.EpcUser中类型的数据
只需要指定 resultType 的类型,MyBatis 会自动将查询的结果映射成 JavaBean 中的属性
-->
<select id="findAll" resultType="com.krt.epc.entity.EpcUser">
select id,name,bir,habby,num,address,photo
from easypoi
</select>
<!--
parameterType为输入参数,在配置的时候,配置相应的
输入参数类型即可。parameterType有基本数据类型和复杂的数据类型配置。
-->
<!--导入excel数据到数据库-->
<!--useGeneratedKeys使用数据库自增,keyProperty自增字段-->
<insert id="saveAll" parameterType="com.krt.epc.entity.EpcUser" useGeneratedKeys="true" keyProperty="id">
insert into easypoi values (#{id}, #{name}, #{bir}, #{habby}, #{num}, #{address}, #{photo})
</insert>
</mapper>
4、Lombok中的@EqualsAndHashCode(callSuper = false)
作用:自动的给bean model实现equal方法和hashcode方法,@EqualAndHashCode实则时比较两个对象的属性
当@EqualsAndHashCode(callSuper = false)时不会比较其继承的父类的属性可能会导致错误判断;
当@EqualsAndHashCode(callSuper = true)时会比较其继承的父类的属性;
5、Lombok中@Accessors注解
@Accessors 注解用来配置lombok如何产生和显示getters和setters的方法。
@Accessors有三个属性,分别是fluent,chain,prefix,@Accessors注解既可以注解在类上也可以注解在属性上
1.fluent
fluent为一个布尔值,如果为true生成的get/set方法则没有set/get前缀,默认为false
例如:
@Accessors(flunet = true)
public class MyClass {
@Getter
private int num;
}
生成的get方法为num(),而不是getNum()
2.chain
chain为一个布尔值,如果为true生成的set方法返回this,为false生成的set方法是void类型。默认为false,除非当fluent为true时,chain默认则为true
3.prefix
prefix为一系列string类型,可以指定前缀,生成get/set方法时会去掉指定的前缀
例如:
@Accessors(prefix = “m”)
public class MyClass {
@Getter
private int mNum;
}
生成的get方法为getNum(),而不是getMNum()