sql映射文件
来源:互联网 发布:风暴大陆坐骑进阶数据 编辑:程序博客网 时间:2024/06/05 22:45
列举SQL映射文件的几个顶级元素
mapper:映射文件的跟元素节点,只有一个属性namespace(命名空间).其作用如下:
用于区分不同的mapper,全局唯一
绑定DAO接口,即面向接口编程。当namespace绑定某一接口之后,可以不用写该接口的实现类,MyBatis会通过接口的完整限定名查找到对应的mapper配置文件来执行SQL语句。因此namespace的命令必须要跟接口同名
cache:配置给定命名空间的缓存
cache-ref:从其他命名空间引用缓存配置
resultMap:用来描述数据库结果集和对象的对应关系
sql:可以重用SQL块,也可以被其他语句引用
insert:映射插入语句
resultType和resultMap的区别是什么
返回类型可以用resultType也可以用resultMap
resultType是直接表示返回类型
resultMap则是对外部ResultMap的引用
两者不能同时存在
MyBatis多参数入参如何处理?有几种方式
一、#{参数索引}
1. DAO层
Mapper接口类
User logon(String user_name,Stringpassword);
Mapper.xml文件
<select id="logon" resultMap="UserResultMap" >
select
<include refid="Base_Column_List"/>
from sys_user
WHERE user_name = #{0} and password = #{1}
</select>
这里用的是#{参数索引}
2. Service层
Service接口类
User logon(String user_name,String password);
Service实现类
@Override
public User logon(String user_name, String password) {
return userMapper.logon(user_name,password);
}
二、Map传参数
1. DAO层
Mapper接口类
User logon(Map map);
Mapper.xml文件
<select id="logon" resultMap="UserResultMap" >
select
<include refid="Base_Column_List"/>
from sys_user
where user_name = #{user_name,jdbcType=VARCHAR} and password = #{password,jdbcType=VARCHAR}
</select>
这里接口方法传入的map
2. Service层
Service接口
User logon(String user_name,String password);
Service实现类
@Override
public User logon(String user_name, String password) {
Map paramMap=new HashMap();
paramMap.put("user_name",user_name);
paramMap.put("password",password);
User user=userMapper.logon(paramMap);
return user;
}
Service层实现了要将参数与map绑定
三、注解方法传参数
1. DAO层
Mapper接口类
User logon(@Param("user_name")String user_name,@Param("password")String password);
Mapper.xml文件
<select id="logon" resultMap="UserResultMap" >
select
<include refid="Base_Column_List"/>
from sys_user
where user_name = #{user_name,jdbcType=VARCHAR} and password = #{password,jdbcType=VARCHAR}
</select>
这里主要注意接口传入参数前面加了@Param注解
2. Service层
Service接口
User logon(String user_name,String password);
Service实现类
@Override
public User logon(String user_name, String password) {
return userMapper.logon(user_name,password);
}
mapper元素的namespace属性的作用是什么
namespace决定了action的访问路径,默认为"",可以接受所有路径的action
不同的SQL映射文件,元素的ID必须不同吗
谈谈你对association和collection元素的理解
public class A{
private B b1;
private List<B> b2;
}
在映射b1属性时用association标签, 映射b2时用collection标签,分别是一对一,一对多的关系
阅读全文
0 0
- Sql 映射文件
- sql映射文件
- SQL Map XML 映射文件
- SQL Map XML 映射文件
- SQL Map XML 映射文件
- SQL Map XML 映射文件
- ibatis实体sql映射文件
- SQL映射文件mapper.xml
- SQL语句映射文件 resultMap
- MyBatis -- sql映射文件详解
- mybatis sql 映射文件问题
- sql的映射XML文件
- sql映射的xml文件
- Mybatis映射文件SQL讲解
- SQL语句映射文件 resultMap
- Mybatis SQL映射文件讲解
- MyBatis-SQL映射文件-总结
- SQL Map XML 映射文件。
- 前端面试题-滴滴一面
- J-link在线调试方法
- java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/GraphicsEnvironment
- StringBuilder
- 使用CEfSharp之旅(5)CEFSharp 隔离Cookie
- sql映射文件
- Java中的static关键字解析
- Git学习笔记(一)
- My first Crawler
- muduo网络库学习(七)用于创建服务器的类TcpServer
- 嵌入式项目1--液晶上显示浮点数
- JS数组中常用到的一些方法总结
- IntelliJ Idea 开发工具优化总结
- 选择排序_冒泡排序