Mybatis 框架(XML的基本使用 一)

创建实体类。

package dc.com.entity; 

public class Users {
    private long id;
    private  String name;
    private  String pass;

    public long getId() { return id; }

    public void setId(long id) { this.id = id; }
 
    public String getName() { return name; }

    public void setName(String name) { this.name = name; }

    public String getPass() { return pass;}

    public void setPass(String pass) {this.pass = pass; }

}

 

 My Batis 正强大之处在于它的映射语句,这也是它的魔力所在。 由于它的映射语句异常强大,映射器的 XML 文件就显得相对简单。

如果将其与具有相同功能的 JDBC 代码进行对比, 立刻就会发现,使用这种方法节省了将近 95% 的代码量。

MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好MyBatis 3.0 相比 2.0 版本的 个最大变化,就是支持使用接口来调用方法。

 

 

接下来看 看如何使用 MyBatis XML 方式。

首先,创建一个数据包qin.com.mapper,并在数据包中创建一个users数据表的接口UsersMapper.java,UsersMapper.java代码如下。

dc.com.mapper
UsersMapper {
    
}

我们的UsersMapper.java接口是空的。

 

第二,在resources中创建目录qin.com.mapper,并在mapper目录中下创建users数据表的xml文件,文件名为UsersMapper.xml,代码如下。

<?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="qin.com.dao.UsersDao">    

</mapper>

到这里UsersMapper.xml是也是空的。

 

当 mapper接口和xml文件关联的时候,命名空间manespace 值就需要配置成接口的全限定名称,例如 UserMapper 接口对应的 qin.com.dao.UsersMapper,mybatis 内部就是通过这个值将接口和XML 关联起来的。

项目的目录结构如下。

 

第三、在mybatis的主配置文件中的<mappers>标签中添加如下内容。

<mappers>   

 <!-- 映射文件地址要记住把映射文件所在数据包中的"."换成“/” -->   

 <mapper resource="dc/com/mapper/UsersMapper.xml" />

</mappers>

在主配置文件中,若<mappers>中映射的xml文件比较多,并且这些文件是在同一个数据包时我们可以这样来表示。

<mappers>
    <package name="dc.com.mapper"/>
</mappers>

 

这种配置方式会先查找dc.com.mapper包下所有的接口,循环对接口进行如下操作。

1. 判断接口对应的命名空间是否己经存在,如果存不在就抛出异常,存在就继续进行接下来的操作。

2. 加载接口对应的xml映射文件 将接口全限定名转换为路径 例如将接口dc.com.mapper.UsersMapper转换为 dc/com.mapper/UserMapper.xml ,以xml为后缀搜索xml资源,如果找到就解析xml.

3. 处理接口中的注解方法。

因为这里的接口和 XML 映射文件完全符合上面操作的第2点,因此直接配置包名就能自动扫描包下的接口和 XML 映射文件,省去了很多麻烦准备好这切后就可以开始学习具体的用法了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值