mybatis笔记

MyBatis-config.xml 中的知识点

1.起别名(作用是,在xxxMapper.xml文件中的resultType属性直接写类名即可,不用写全类名了)
2.将mapper映射写入配置(把写sql语句的那个配置文件放在MyBatis-config.xml ,当该配置被MyBatis工厂加载时也被加载)

如果是使用@Mapper的话,就把使用该注解的接口的全类名放在里面:

3.数据库的连接操作放在environments标签里面

xxxDao.xml中的知识点

1.所有操作语句都在里面,namespace的值为需要进行数据库操作的那个类(xxxDao.java)的全类名
<?xml version="1.0" encoding="UTF-8"?>
<mapper namespace="com.kuang.dao.xxxDao">
    <select id="listCategory" resultType="Category">
        select * from   category_     
    </select>
</mapper>
2.简单的增删改查的标签(属性id的值必须是xxxDao.java对应的方法名)是 , ,,
select * from category_
3.多参数操作时,要用到map(其实也可以不用,因为ssm框架的时候可以传多个参数),因为session的方法里面只能携带一个方法名和一个参数session.selectList(“listCategoryByIdAndName”,params),所以可以把多个参数放到map里面,然后查询。

​ Map<String,Object> params = new HashMap<>();

​ params.put(“id”, 3);

​ params.put(“name”, “cat”);

​ List cs = session.selectList(“listCategoryByIdAndName”,params);

4.多表查询,需要在里面声明映射关系(一对多时用collection,多对一时用association)

//type的值是实体类名,id只是个标识

//只用id字段使用标签

select c.*, p.*, c.id 'cid', p.id 'pid', c.name 'cname', p.name 'pname' from category_ c left join product_ p on c.id = p.cid
多对一: 把collection换成association, 把ofType换成javaType
        <!-- property: 指的是属性名称, javaType:指的是属性的类型 -->
        <association property="category" javaType="Category">
5.注解方式用到的相关注解

@Mapper @Select @Insert @update @delete

MyBatis执行流程

1.调用Resource.getResourceAsStream(),将mybatis-config.xml转化成流的形式

2.使用SqlSessionFactoryBuilder.build() 加载该流,从而创建出对应的sqlSessionFactory工厂

3.从SqlSessionFactory工厂中获取SqlSession的实例session

4.使用session的内置的增删改查方法进行数据库操作。例如:session.selectList(“xxxDao.java里面的对应的方法名”`,“参数(根据需求可以无参)”); 或者使用session.getMapper(CategoryMapper.class)获取一个mapper实例,使用该实例对CategoryMapper.class里的方法进行数据库操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值