查看“基础:映射文件Mapper.xml”的源代码
←
基础:映射文件Mapper.xml
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Mybatis]] == 关于 == Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心。 # 输入映射的类型可以是简单类型、hashmap、pojo的包装类型; # 输出映射的类型可以是简单类型、hashmap、pojo的包装类型; == 输入映射 == === parameterType === ==== 简单类型 ==== 略 ==== pojo对象 ==== * '''Mybatis使用ognl表达式解析对象字段的值''' UserMapper.xml: <syntaxhighlight lang="xml"> <!—传递pojo对象综合查询用户信息 --> <select id="findUserByUser" parameterType="user" resultType="user"> select * from user where id=#{id} and username like '%${username}%' </select> </syntaxhighlight> UserMapperTest.java: <syntaxhighlight lang="java"> Public void testFindUserByUser()throws Exception{ //获取session SqlSession session = sqlSessionFactory.openSession(); //获限mapper接口实例 UserMapper userMapper = session.getMapper(UserMapper.class); //构造查询条件user对象 User user = new User(); user.setId(1); user.setUsername("管理员"); //传递user对象查询用户列表 List<User>list = userMapper.findUserByUser(user); //关闭session session.close(); } </syntaxhighlight> Note: # Mapper中#{}或${}中的内容,与pojo对象的属性对应; ==== pojo包装对象 ==== 开发中通过pojo传递查询条件 ,查询条件是'''综合查询条件,这时可以使用包装对象传递输入参数'''。<br/> 如,将用户信息、用户购买商品信息都作为查询条件: User.java:<br/> (用户类,略) <syntaxhighlight lang="java"> </syntaxhighlight> UserCustom.java:(用户扩展类) <syntaxhighlight lang="java"> public class UserCustom extends User{ //可以扩展用户的信息 } </syntaxhighlight> UserQueryVo.java:(包装类) <syntaxhighlight lang="java"> public class UserQueryVo { //用户信息 private User user; //自定义用户扩展类 private UserCustom userCustom; //可以包装其它的查询条件,订单、商品 //.... } </syntaxhighlight> UserMapper.xml: <syntaxhighlight lang="xml"> <!— 查询用户列表 --> <select id="findUserList" parameterType="UserQueryVo" resultType="user"> select * from user where username = #{user.username} and sex = #{user.sex} </select> </syntaxhighlight> UserMapperTest.java:<br/> (测试类,略) <syntaxhighlight lang="java"> </syntaxhighlight> Note: # “UserQueryVo”、“user”均为设置的别名; # “#{user.username}”中,user即是传入的包装对象的属性,username为user的属性; ==== hashmap ==== == 输出映射 == === resultType === ==== 简单类型 ==== 略 ==== pojo对象 ==== ==== pojo列表 ==== ==== hashmap ==== === resultMap === == 动态sql == 动态sql是'''mybatis核心''',通过表达式进行判断,对sql进行灵活拼接、组装,实现sql语句的进行灵活操作。 == 参见【[http://wiki.eijux.com/%E5%85%A5%E9%97%A8%EF%BC%9A%E5%85%A5%E9%97%A8%E7%A8%8B%E5%BA%8F#.E5.85.A5.E9.97.A8.E5.B0.8F.E7.BB.93 入门小结]】 ==
返回至“
基础:映射文件Mapper.xml
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息