Mybatis学习笔记[持续更新中...]

Mybatis详细操作

配置中的别名问题

https://mybatis.org/mybatis-3/zh/configuration.html#typeAliases

配置文件中如果有配置type-aliases-package的包路径,则在设置的resultType时,如果要设置的对象处于该包下,则可以直接写类名首字母小写的非限定名,或是@Alias("author")注解指定的值

<select id="findById" resultType="com.jt.pojo.User">
    select * from demo_user where id = #{id}
</select>

可以简化成下面这样

<select id="findById" resultType="User">
    select * from demo_user where id = #{id}
</select>

数据封装问题

  • 使用对象封装
    当要传递的参数个数较多时,请考虑使用对象来封装数,如下面的例子中,getUserListByNameAndAge方法目前其实只需要传nameage这两个参数,我们也可以直接使用两个形参来接收,但是使用User对象传递参数时,后面即使要传递的参数增加了,调用者也不需要修改代码。
List<User> getUserListByNameAndAge(User user);
  • 使用Map<String,Object>
    通用性更好一些,可以根据自己的需求对各种自定义名称的参数进行封装
int minAge = 18;
int maxAge = 100;
Map<String,Integer> map = new HashMap<>();
map.put("minAge",minAge);
map.put("maxAge",maxAge);
List<User> userList = userMapper.findUserByAge(map);
System.out.println(userList);
上一篇:GPON与EPON,哪个更具备有优势?


下一篇:微软与阿里云合作推出“开放应用模型(OAM)”