(八)mybatis之映射器
2024-10-22 04:26:00
映射器
映射器是由Java接口和XML文件(或注解)共同组成的,作用如下:
① 定义参数类型。
② 描述缓存。
③ 描述SQL语句。
④ 定义查询结果和POJO的映射关系。
以下用两种方式进行Mapper的实现。
1、 XML文件配置方式实现Mapper
第一步:给出Java接口。
package com.mapper; import com.entity.User; public interface UserMapper(){ public User getUser(int id); }
第二步:给出一个关于User的映射文件。
<?xml version=”1.0” encoding=”UTF-8” ?> <!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN” http://mybatis.org/dtd/mybatis-3-mapper.dtd> <mapper namespace=”com.mapper.UserMapper”> <!—此处是说明,映射所对应的Java类是哪个 --> <select id=”getUser” parameterType=”int” resultType=”user”> <!—此处的id属性值需要与上一步的UserMapper的方法名一致 --> <!—parameterType表示传进值的类型,resultType表示输出值的类型,此处的user是之前在mybatis-config.xml文件中已经说明过的了,是User类的别名--> select id, username from user_info where id=#{id} <!-- 此处的id属性的值需要与POJO中的属性名称对应--> </select> </mapper>
第三步,使用Mybatis进行查询。
//获取映射器Mapper UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User user = userMapper.getUser(1); System.out.println(user.getUserName());
2、 Java注解方式实现Mapper
使用Java注解方式实现映射关系并不难,只需要在接口中使用Java注解并注入SQL即可。但是如果需要的SQL比较复杂,用注解的方式就会比较吃力(因为SQL需要整合各种注解)。
package com.mapper; import org.apache.ibatis.annotations.Select; import com.entity.User; public interface UserMapper2{ @Select(value=”select id, username from user_info where id=#{id}”) public User getUser(int id); }
最新文章
- bzoj1036--树链剖分
- wordpress 自定义登录表单
- c++ web服务器
- 纯CSS实现的右侧底部简洁悬浮效果
- Qt Creator快捷键
- (转)php中__autoload()方法详解
- CPrimer Plus第12章 存储类、链接和内存管理随笔
- c++输入密码以星号代替
- 设计模式 Template Method模式 显示程序猿的一天
- 《ECMAScript标准入门》第二版读书笔记
- python3获取网页天气预报信息并打印
- ASP.NET实现网页版小优盘
- http/https与websocket的ws/wss的关系以及通过Nginx的配置
- .net core + headless chrome实现动态网页爬虫
- eclipse git 删除内容
- 【转】vs2010打开qt的.pro文件时错误解决办法
- 第二百七十八节,MySQL数据库-表内容操作
- 解决oracle11g无法导出空表问题
- 0055 <;mvc:default-servlet-handler />;不能同时访问静态资源和动态资源的问题
- 【BZOJ 1407】[Noi2002]Savage ExGCD
热门文章
- unity常用插件
- [Xcode 实际操作]八、网络与多线程-(25)实现ShareSdk的社会化分享功能
- Response.Redirect 产生的“正在中止线程”错误
- Devc++贪吃蛇
- Tomcat日志文件的输出在Linux和Windows下的差异
- JSP &;&; Servlet | 上传图片到数据库
- laravel-admin 配置富文本编辑器流程
- LIS的简单应用:UVA-437
- python入门之实例-商品选择
- 539 Minimum Time Difference 最小时间差