MyBatis学习(二)MyBatis入门(注解方式)

创建测试函数

直接在IDE中使用psvm创建main函数:

public static void main(String[] args) throws Exception{
        //1. 读取配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2. 创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);

首先读取配置文件
然后创建一个SqlSessionFactory工厂
这里有一个Builder工厂类,把内部的实现封装好了。

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;
import java.util.List;

public class MyBatisTest {
    /**
     * 入门案例
     * @param args
     */
    public static void main(String[] args) throws Exception{
        //1. 读取配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2. 创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
        //3. 使用工厂生产SqlSession对象
        SqlSession session = factory.openSession();
        //4. 使用SqlSession创建Dao接口的代理对象
        IUserDao userDao = session.getMapper(IUserDao.class);
        //5. 使用代理对象执行方法
        List<User> users = userDao.findAll();
        for(User user : users) {
            System.out.println(user);
        }
        //6. 释放资源
        session.close();
        in.close();
    }
}

运行完毕之后,会报错:
在这里插入图片描述
也就是没有返回类型。

在IUserDao中,需要加上:

    <select id="findAll" resultType="User">
        select * from user
    </select>

也就是将返回值封装到User对象中。

修改这个之后,就可以看到查询结果:
在这里插入图片描述

使用注解方式

在方法上面添加select注解。

public interface IUserDao {
    //用户的持久层接口

    /**
     * 查询所有操作
     * @return
     */
    @Select("select * from user")
    List<User> findAll();
}

在配置文件上面,使用class

<mappers>
        <mapper class="IUserDao"/>
</mappers>

这样执行,仍然能够访问数据库
在这里插入图片描述

  1. 需要在方法上面添加注解
  2. 然后再mapper里面使用class,后面添加完整的方法名。

实际开发中越简练越好,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值