Mybatis当中有一个重要概念:ORM(Object Relation Mapping),对象关系映射。
也就Java实体类的属于与关系型数据库column的对应关系。
我们在mybatis的mapper.xml当中用#{}来代表示要传入的列名,这个#{}到底代表什么?
由于mybtais是通过反射机制来实现的,#{}代表java实体类的getter方法名。
虽然我们通常写成#{name}之类的,但实际上,mybatis是去java实体类寻找getName()方法。
这就是我理解的反射机制的getter注入。
实验:
如果我们的实体类有个属性是studentName;
但在mybatis的mapper.xml当中写成#{Xyz},则mybatis会报错。
此时,如果去实体类当中写一个getXyz()方法就不会报错了。