Mybatis自我心得、框架介绍、配置文件介绍、重点(企业用法)

关注公众号:”奇叔码技术“

回复:“java面试题大全”或者“java面试题”
即可免费领取资料




1、自我学习完之后的感悟:

  1. 自我学习完之后的感悟:
    有人会问为什么要学Mybatis框架;学习了之后的理解:Mybatis是一个半自动化的持久化框架,方便前后端分离,耦合性较低,代码重复率小,是企业常用的一类;后面学习完之后,不用像jdbc连接数据库,一样,先驱动,连接,事务,数据库操作,连接池等连着写,然后再后面每一次调用数据需要重新写一个数据库操作;而相比mybatis优化的是,在Dao层搭建完成之后,它只需你书写四个一(基本操作):一个调用方法、一个返回值、一个sql语句、一个测试打印;

2、Mybatis框架介绍:

  1. Mybatis框架介绍:
    (1)半自动化的持久化框架(关键词一个专注业务,一个专注数据):
    半自动化的持久化框架
    (2)听了众多视频,笔者目前已知学习后端:一门语言(java等),SSM:SpringMvc spring mybatis(下面图片详细介绍)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (3)带着疑问看下文(带着做大项目的心来看):
    3.1:怎么解决:连接,预编译,结果集,关闭的紧凑性;
    在这里插入图片描述
    3.2:怎么解决:sql语句写在java代码中太拥挤,如果出现错误了,不好找和维护;
    3.3:怎么解决:预编译,处理sql语句时,传递的参数写法变简便;
    在这里插入图片描述
    3.4:怎么解决:在解析结果集时,返回的数据我们需要设置给每一个字段,把这个操作,系统能不能自动进行这个操作呢?
    在这里插入图片描述

3、配置文件的介绍

  1. 配置文件的介绍
    (1)代码展示:
<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/> <!--transactionManager 事务管理 JDBC-->
            <dataSource type="POOLED">
                <!--这里就是数据库驱动的写法配置,默认POOLED,IDER的默认连接池-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>


    <mappers> <!--mapper 映射器  作用,一般写sql语句-->
      <!--  <mapper resource="org/mybatis/example/BlogMapper.xml"/>-->

        <mapper resource="com/jiqi/mapper/StudentMapper.xml"/>

    </mappers>
</configuration>

(2)单词总集:configuration(配置),environments(环境),transactionManager(事务管理器),dataSource(数据源),property(属性),mappers(映射),resource(资源)
(3)代码解析:
3.1:<environments default="development">
environments 明显是一个复数,所以,他是爸爸,它可以包含多个儿子environment标签,而default就是说明准备用哪个儿子,而每一个儿子environment标签,都会有一个熟悉名字iddefaultid的值一一对应,则就是使用哪个儿子environment标签;
3.2: <transactionManager type="JDBC"/>
属性type值为JDBC,意思也是显而易见,代表这个配置直接简单使用了 JDBC 的提交和回滚设置。 它依赖于从dataSource标签(数据源)得到的连接来管理事务范围。(此处摘录于:零星一点)transactionManager 以及datasource type解析
3.3<dataSource type="POOLED">
dataSource标签包含的这里就是数据库驱动和连接的写法配置,默认属性:POOLED:IDER的默认连接池
3.4<property name="driver"value="com.mysql.jdbc.Driver"/>
书写数据库驱动和连接:name和value值一一对应;
3.5

<mappers>
        <mapper resource="com/jiqi/mapper/StudentMapper.xml"/>
 </mappers>

mapper:映射器的作用,一般写sql语句,而这里为了主配置文件和每一个小项目的配置文件分开写,方便查找和增加可读性、辨别性;特别注意
而这里的resource属性就是我们使用子mapper文件的相对路径;
下面的代码即:StudentMapper.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: 命名空间;
                     不同的mapper映射文件使用namespace来做区分
                     不同的mapper映射文件所使用的namespace的命名不允许重复

      使用namespace: 命名空间:.sqlid的形式来找到我们写好的sql语句来执行;
           test1.selectBlog
-->

<mapper namespace="test1">

<!--<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>-->
    <!--
    sql语句必须写在相应的b标签当中;
    <insert>:在标签当中写insert开头的语句 处理添加操作
    <update>:在标签当中写insert开头的语句 处理更新操作
    <delete>:在标签当中写insert开头的语句 处理操作
    <select>:在标签当中写insert开头的语句 处理添加操作
    parameterType : 为sql语句传递的参数类型
    resultType: 以前是结果集,然后放在类的set方法里面;
                现在直接就是返回给类 Student s = resultType(必须绝对路径)
    #{id}->"id" 字符串写法
    -->
    <select id="getById" parameterType="java.lang.String" resultType="com.Student">
        select  * from  tbl_student where  id = #{id}
    </select>

    <select id="getAll"  resultType="com.Student">
        select  * from  tbl_student
    </select>

    <insert id="insert" parameterType="java.lang.Object" >
        insert into tbl_student(#{id},#{name},#{age}) values(#{id},#{name},#{age})
    </insert>
</mapper>

4、重点(企业用法):

  1. 重点(企业用法):
<?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"/>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.Driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--用package 的name属性来批量处理我们的mapper映射,使mapper映射文件自动注册-->
        <!--<mapper resource="com/jiqi/Dao/StudentDao.xml"/>-->
        <package name="com.jiqi.Dao"></package>
    </mappers>
</configuration>

4.1<properties resource="db.properties"/>的用法:
文件解析:这是一个属性文件:文件后缀名:properties;

jdbc.Driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/Mybatis
jdbc.username=root
jdbc.password=123456

目的直接对应于:
<property name="driver" value="${jdbc.Driver}"/>
里面的value值,用el(表达式语言的写法);

4.2:mapper中批量处理mapper映射,自动注册;

<mappers>
        <!--用package 的name属性来批量处理我们的mapper映射,使mapper映射文件自动注册-->
        <!--<mapper resource="com/jiqi/Dao/StudentDao.xml"/>-->
        <package name="com.jiqi.Dao"></package>
    </mappers>

package是为了方便在Dao包下面所有的mapper映射文件都可以自己自动注册;不用分开写了;


以上总结,当采纳和对你有帮助时;
🤞👣👀👇🤝🙌🍗
留下你的点赞足迹+你爱心的评论哦!
🉐(⓿_⓿)谢啦!!☆⌒(*^-゜)v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值