MyBatis-02-接口式开发(动态代理)

MyBatis-02-接口式开发(动态代理)

目录结构:

image-20210402134838102

1.导入相关包

mybatis-3.3.1.jar
ojdbc14.jar

2.数据库连接信息文件

db.properties

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
username=SA
password=abc123

3.编写配置文件

mybatis-config.xml(名字什么都可以)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--引入数据库连接信息文件   -->
    <properties resource="db.properties"></properties>

    <!--配置连接信息   -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!-- 取出properties文件中的值,放入value -->
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <!--声明mapper文件位置,以 / 分割-->
    <mappers>
        <mapper resource="com/dyz/mapper/FoodsMapper.xml"/>
    </mappers>
</configuration>

4.编写实体类

package com.dyz.bean;

public class Foods {
    private int fid;
    private String fname;
    private String ftype;
    private double fprice;
    private int fnum;
	//自行添加set get toString方法
}

5.编写mapper文件

FoodsMapper.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">
<!--namespace对应相关的Dao地址-->
<mapper namespace="com.dyz.dao.FoodsDao">
    <select id="FoodsShow" resultType="com.dyz.bean.Foods">
        SELECT * FROM Foods
    </select>
</mapper>

6.编写Dao

//只需要写个接口,不需要实现
//注意:::方法名对应mapper.xml的id,返回值,参数也要一致
public interface FoodsDao {
    public List<Foods> FoodsShow();
}

7.测试

public class MyClass {
    private static SqlSessionFactory sqlSessionFactory;
    private static Reader reader;

    static {
        try {
            reader = Resources.getResourceAsReader("mybatis-config.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static SqlSessionFactory getSqlSessionFactory() {
        return sqlSessionFactory;
    }

    //核心
    public static void main(String[] args) {
        SqlSession sqlSession = getSqlSessionFactory().openSession();
        try {
            //根据反射
            FoodsDao foodsDao = sqlSession.getMapper(FoodsDao.class);
            //调用方法
            List<Foods> foodsList = foodsDao.foodsShow();
            foodsList.forEach((food)-> System.out.println(food));
        } finally {
            sqlSession.close();
        }
    }
}

8.结果

image-20210402115026080

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值