ParameterType usage of MyBatis Mapper configuration file, mybatismapper. xml
The parameterType attribute is mentioned in the select, insert, update, and delete elements of MyBatis. The parametertypes that MyBatis can currently use include basic data types and complex JAVA data types.
- Basic Data Type: Contains int, String, Date, and so on. The basic data type is used as a parameter. Only one parameter can be input. You can use # {parameter name} to obtain the passed value.
- Complex data types: including JAVA object classes and Map. By # {attribute name} or
- # {Map's KeyName} can get the input value
- Example of basic data type parameters:
Query the instructor list by class ID
Xml file
[Html]View plaincopy
- <Select id = "selectTeacher" parameterType = "int" resultType = "com. myapp. domain. Teacher">
- Select * from Teacher where c_id =#{ id}
- </Select>
Java code
[Java]View plaincopy
- List <Teacher> tList = teacherMapper. selectTeacher (2 );
- For (Teacher entityTemp: tList ){
- System. out. println (entityTemp. toString ());
- }
- JAVA object type parameter example:
[Html]View plaincopy
- <Select id = "selectTeacher" parameterType = "com. myapp. domain. Teacher" resultType = "com. myapp. domain. Teacher">
- Select * from Teacher where c_id =#{ id}
- </Select>
[Java]View plaincopy
- Java code
- Teacher queryTeacher = new Teacher ();
- QueryTeacher. setId (2 );
- List <Teacher> tList = teacherMapper. selectTeacher (queryTeacher );
- For (Teacher entityTemp: tList ){
- System. out. println (entityTemp. toString ());}
- Map parameter example:
[Html]View plaincopy
- <Select id = "selectTeacher" parameterType = "Map" resultType = "com. myapp. domain. Teacher">
- Select * from Teacher where c_id = # {id} and sex = # {sex}
- </Select>
[Java]View plaincopy
- Java code
- Map <String, String> map = new HasMap <String, String> ();
- Map. put ("id", "2 ");
- Map. put ("sex", "male ");
- List <Teacher> tList = teacherMapper. selectTeacher (map );
- For (Teacher entityTemp: tList ){
- System. out. println (entityTemp. toString ());}
In addition, MyBatis also provides a method for using annotations to input multiple parameters. In this way, the @ Param annotation must be added to the interface parameters.
Example:
Interface Method
[Java]View plaincopy
- Public List <Teacher> selectTeacher (@ Param (value = "id") String id, @ Param (value = "sex") String sex );
XML file
[Html]View plaincopy
- <Select id = "selectTeacher" resultType = "com. myapp. domain. Teacher">
- Select * from Teacher where c_id = # {id} and sex = # {sex}
- </Select>
Test code
[Java]View plaincopy
- List <Teacher> tList = teacherMapper. selectTeacher ("2", "male ");
- For (Teacher entityTemp: tList ){
- System. out. println (entityTemp. toString ());