Mybatis

学习背景

地点:长沙欧富安科技园1栋5楼飞思项目十

时间:23年8月28~9月1号

大致内容:mybatis

前言

对Mybatis的学习,算是推翻了之前写项目的方式,对我而言,很新,很难,很搞人心态,其中涉及到的几个核心,如反射,动态代码更是不知所云。没办法,故事还在继续,生活还得向前。

MyBatis

项目构成

MyBatis采用模块式开发,即“父子”关系,父模块中不放代码,只保留一些全局变量,而子模块负责去实现功能。

pom.xml:在基于Maven的基础上,与之前写项目的不同点之一,以后的jar包引入,该文件处添加依赖即可,子类可继承父类的该文件里面的内容,具体依赖引入请参考:Maven Repository: Search/Browse/Explore (mvnrepository.com)

java:代码编写

resources:资源存放(不可被子类继承)

test:测试用

日志打印

进入Mybatis的学习之后,应当抛弃传统使用System.out.println()打印结果,可使用日志打印代替

pom.xml:

resources目录下:logback.xml

执行顺序

mybatis-config.xml

daomapper.xml与daomapper.java

daomapper.java:接口方法

daomapper.xml:实现接口方法中的SQL语句

SqlSessionFactory

存放与util模块下

SqlSession

从业务层中获取

SqlSessionUtil.createSqlSessionFactory();
SqlSession sqlSession = SqlSessionUtil.createSqlSession();
//dao层接口
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//sqlSession.commit();//事务提交

动态SQL

if/where

    <select id="query101" resultType="UserEntity">
        select * from train_user
        <where>
            <if test="user_id != null || user_id != ''">
                user_id = #{user_id}
            </if>
            <if test="user_password != null || user_password != ''">
                and user_password = #{user_password}
            </if>
            <if test="user_name != null || user_name != ''">
                and user_name = #{user_name}
            </if>
        </where>
    </select>

foreach

    <select id="query16" parameterType="UserEntity" resultMap="userMap">
        select * from train_user
        <where>
            <!--list当存放的是简单类型-int String 。。。 -->
            <!--collection 取参数-->
            <foreach collection="aa" item="key" open="and user_id in ( " close=")" separator=" , ">
                #{key}
            </foreach>
        </where>
    </select>

多表查询

前置配置

    <select id="query18" resultMap="userMap">
        select * from train_user u LEFT JOIN message m ON u.user_name = m.user_name WHERE u.user_id=18
    </select>

本周小结

关于MyBatis的基础知识和使用应该就这些了,至于还有缓存,那个一级和二级都用不上就没写,还有进阶知识又不会写,下周就又要学习Spring了。等待,并心怀希望!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值