mybatis学习之根据id查找用户例子

本文详细介绍了如何使用MyBatis框架根据用户ID来查找用户,包括创建PO类、配置映射文件User.xml、在SqlMapConfig.xml加载映射文件以及编写相应的程序代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建po类

根据数据库字段一一生成表的po类
在此处我们生成一个User类
    //属性名和数据库表的字段一一对应
    private int id;
    private String username;// 用户姓名
    private String sex;// 性别
    private Date birthday;// 生日
    private String address;// 地址
get and set...

2、配置映射文件(User.xml)

映射文件命名:

mapper代理的映射文件名称格式为xxxMapper.xml,比如:UserMapper.xml,ItemsMapper.xml

在映射文件中配置sql语句,插入初始化语句:
<?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="test">
</mapper>
我们在mapper中插入如下代码:
    <!-- 在映射文件中配置很多sql语句 -->
    <!--
    需求:通过id查询用户数据
    -->
    <!--
    通过select来执行数据库的查询操作
    ID:标识映射文件中的sql,成为statementid
    将sql语句封装到mappedStatement对象中
    parameterType: 指定输入参数的类型,这里指定为int型
    #{}表示一个占位符
    #{id},其中的id表示接受输入的参数,参数名称为id
    resultType : 指定sql输出结果所映射的java对象类型,这里select指定resultType表示单条记录所映射成的java对象
    -->
    <select id="findUserById" parameterType="int" resultType="pojo.User">
        SELECT * FROM USER WHERE id = #{id}
    </select>

3、在SqlMapConfig.xml中加载映射文件

在SqlMapConfig.xml中加载User.xml
   <!-- 加载映射文件 -->
    <mappers>
        <mapper resource="sqlmap/User.xml"></mapper>
    </mappers>

4、程序编写

在这里我们先用Junit单元测试测试一下,
新建一个测试类,在测试类下加入如下代码(过程可看注释)
//根据id查询用户的信息,得到一条记录
    @Test
    public void findUserByIdTest(){
        //mybatis配置文件
        String resource = "SqlMapConfig.xml";
        SqlSession sqlSession = null;
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //创建会话工厂,传入mybatis的配置信息
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //通过工厂得到SqlSession
            sqlSession = sqlSessionFactory.openSession();
            //通过SqlSession来操作数据库
            //第一个参数:映射文件中的statementID 等于namespace + "." + ID
            //第二个参数:和映射文件中所匹配的parameterType类型的参数
            //sqlSession.selectOne 的结果类型就是你映射文件中所匹配的resultType类型
            User user = sqlSession.selectOne("test.findUserById", 1);
            System.out.print(user);
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            //释放资源
            sqlSession.close();
        }
    }

测试运行后可看结果


映射文件命名:

mapper代理的映射文件名称格式为xxxMapper.xml,比如:UserMapper.xml,ItemsMapper.xml

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值