Mybatis1(基于黑马课程笔记)

1.1Mybatis概述

1.1.1概念

Mybatis是持久层框架,用于简化JDBC

持久层:操作数据库的那一层,Mybatis对JDBC进行封装
JavaEE三层架构:表现层,业务层,持久层。

1.2Mybatis入门

需求:查询数据库表中的内容
步骤:
1.创建Maven模块,在pom.xml中添加依赖坐标。
在resource下创建logback.xml

2.在resource下编辑配置文件(mybatis-config.xml)
标签说明:1.:配置数据库的连接信息,其中可以有很多,通过default属性切换
2.下加载Mapper映射文件

3.在resource下mapper包中编写映射文件(***Mapper.xml)
写sql语句

4.在java下的pojo包中编写***的封装类
根据数据库表的属性封装

5.在外部编写测试类
(1)加载mybatis的配置文件,获取SqlSessionFactory:通过inputStream获取配置文件内容,创建SqlSessionFactory对象。
(2)获取SqlSession对象
(3)执行sql
(4)释放资源

1.3Mapper代理开发

1.3.1概述

目的:解决硬代码问题,简化后期执行sql

1.3.2要求

1.Mapper接口与Mapper映射文件同名
2.Mapper接口在java下的mapper包中,Mapper映射文件在resource下的mapper包中。
3.映射文件的namespace属性中要写Mapper接口的全限定名
4.Mapper接口中定义的方法名就是映射文件中的id,返回类型和参数类型也要一致。

1.3.3案例(查询user表中所有用户信息)

1.导坐标
2.配置文件(mybatis-config.xml)
配置内容:
pojo包

    <typeAliases>
        <package name="com.itheima.pojo"/>
    </typeAliases>

数据库连接信息

<environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--数据库连接信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>

映射文件路径
如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载。

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

3.UserMapper.java(接口类)

public interface UserMapper {
    List<User> selectAll();
}

4.UserMapper.xml
namespace:对应接口的全限定名

<mapper namespace="com.itheima.mapper.UserMapper">
    <select id="selectAll" resultType="com.itheima.pojo.User">
        select * from tb_user;
    </select>
</mapper>

5.User(封装类)
6.MybatisDemo.java(实现功能)

public class MybatisDemo {
    public static void main(String[] args) throws IOException {

        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        SqlSession sqlSession = sqlSessionFactory.openSession();

        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = userMapper.selectAll();
        System.out.println(users);

        sqlSession.close();


    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜狗ei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值