什么是Mapper:
它就是个辅助mybatis极简单表开发的组件。它不是为了替代mybatis,而是让mybatis的开发更方便。
MyBatis提供两种方式连接Java方法和SQL语句:
- 注解;
- XML:
注解方式使用Mapper
导包:MySql驱动包,MyBatis框架基础包,添加MyBatis核心配置文件
配置Mapper:在mybatis-config.xml
新建:mapper包
UserMapper.java
类
测试类:UserTest.java
测试运行:
XML使用Mapper
新建:selectUserAgeById方法——通过用户id查询用户年龄
在resource资源包下新建Mapper包——UserMapper.xml
UserTest.java——在UserTest类里调用XML的SQL
测试运行:
select-resultType
在UserMapper.xml
文件中,新增 selectUserById——通过id查询用户
<select id="selectUserById" resultType="">
SELECT * FROM user WHERE id = #{id}
</select>
entity实体类:User.java
在UserMapper.xml,将selectUserById标签的返回类型改为entity.User
resultType="entity.User"
在UserMapper.java中添加:
/**
* 通过用户id查询用户信息
*
* @param id
* @return
*/
User selectUserById(Integer id);
在UserTest.java中添加:
// 调用通过用户id查询用户信息的方法
User user = mapper.selectUserById(1);
System.out.println(user);
测试运行:
select-resultMap
在UserMapper.xml中添加:
<resultMap id="userMap" type="entity.User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="age" column="age"/>
<result property="score" column="score"/>
</resultMap>
在UserMapper.xml,将
selectUserById
标签的返回类型改为resultMap
resultMap="userMap"
测试运行: