各位小伙伴
祝大家元旦快乐
开始我们今天的分享
我们已经了解了 mybatis 框架的两种使用方式以及主配置文件 (mybatis-config.xml) 的属性。那么今天我们来一起了解sql 映射文件 (userMapper.xml) 的属性。
parameterType 输入参数
1)简单类型的单个参数
我们来模拟一个需求:根据用户 id 查询用户信息
先在接口类 UserMapper.Java 中,添加一个接口。
然后在对应的 UserMapper.xml 中,填写 sql 查询语句。
在测试类中测试一下。这个也没什么说的我们最近一直都在测试这些。
2)简单类型的多个参数
模拟需求:通过登录名和密码验证用户是否存在
先在接口类 UserMapper.Java 中,添加一个接口。这里需要添加两个参数
然后在对应的 UserMapper.xml 中,填写 sql 查询语句。再添加两个参数的时候可以在大括号里填上 0 代表第一个参数,1 第二个参数以此类推。
在测试类中测试一下。
这是2个参数,要是参数再多点,我们这样一个个的标,很麻烦。这是就可以利用包装对象,直接传一个对象进去。
3)包装类对象作为输入参数进行查询
模拟需求:根据界面输入的用户名称或者登录名称来查询符合条件的用户列表。
先创建一个包装类,包装我们的 User 对象,这里就可以包装很多参数了。
在接口类 UserMapper.Java 中,添加一个接口。
然后在对应的 UserMapper.xml 中,填写 sql 查询语句。
在测试类中测试一下。
再多的参数也不用怕了。
resultType/resultMap 对象
1)简单类型的输出 例:Integer String Long 。
在接口类 UserMapper.Java 中,添加一个接口,查询用户总数。
然后在对应的 UserMapper.xml 中,填写 sql 查询语句。
在测试类中测试一下。
2)对象的输出
我们之前做的都是对象输出,给大家简单的测试一下。
3)HashMap 的输出
在接口类 UserMapper.Java 中,添加一个接口。
然后在对应的 UserMapper.xml 中,填写 sql 查询语句。
在测试类中测试一下。
这样看着不方便,我把它复制出来大家看一下结果。
3)resultMap 对象输出
这个是一个重点,假设我们的数据库命名和我们的 Java 属性命名是不一样的,这样我们就是映射不上,这个时候就需要手动设置一个 resultMap 来解决这个问题。
在接口类 UserMapper.Java 中,添加一个接口。
然后在对应的 UserMapper.xml 中,填写 sql 查询语句。
其中:
id 标签代表数据库表的主键
column 代表列名或者 sql 中的别名
property 代表 java 对象的属性名
在测试类中测试一下。
还是复制出来看一下。
这个resultMap很重要,大家多去试一下。至于有什么作用呢?我们之后会分享给大家的。
今天的分享就到这里了
伙伴们
元旦快乐
拜拜