Mybatis复习小结

mybatis在使用代理dao的方式实现增删改查时做什么事呢?

只有两件事: 第一:创建代理对象

                       第二:在代理对象中调用selectList

我们读取配置文件用到了IO里面的Resources类,读出来的流也就是我们找到了我们要的这这些信息,交给了构建者,构建者使用工具类给我们构建了一个工厂对象,工厂里面的openSession()给我们提供了一个session方法,什么时候调用selectList查询所有的方法,创建Dao实现类增强的时候也就是创建代理对象的时候。

第一步 SqlSessionFactoryBuilder接收SqlMaoConfig.xml文件流,构建出SqlSessionFactory对象  // SqlSessionFactoryBuilder的build()方法里面有一个XMLConfigBuilder对象,他是做什么的呢?他是用来解析XML文件的一个构建者,通过他的parse()方法解析mybatis配置文件

第二步 SqlSessionFactory读取SqlMapConfig.xml中连接数据库和mapper映射信息。用来生产出真正操作数据库的SqlSession对象

第三步 SqlSession对象有两大作用:1、生成接口代理对象  2、定义通用增删改查方法

第四步 在代理对象中执行目标对象的方法

第五步 封装结果集

 

模糊查询操作:

@Test
public void testFindByName(){
  List<User> users = userDao.findByName("%王%");
  for(User user : users){
    System.out.println(user); 
     } 
}

xml写法

select *from user where username like #{name} 


@Test
public void testFindByName(){
  List<User> users = userDao.findByName("王");
  for(User user : users){
    System.out.println(user); 
     } 
}

xml写法

select *from user where username like '%${value}%' 

 

 获取用户的总记录条数

select count(id) from user;

 

配置插入操作后,获取插入数据的id 

  <insert id="saveUser" parameterType="com.itheima.domain.User">
    <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
       select last_insert_id();
    </selectKey>
    insert into user(username,address,sex,birthday)values(#{username},#{address},#{sex},#{birthday}); 
    </insert>

 keyProperty="id" //id的属性名称对应实体类的
 keyColumn="id" //id的类名对应表的 
 resultType="int" //结果集类型
 order="AFTER" //什么时候执行获取id的操作

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Spring MVC 和 MyBatis 是两个在 Java Web 开发中非常常用的框架。 Spring MVC 是一个基于 MVC(Model-View-Controller)设计模式的轻量级 Web 框架,它提供了强大的控制反转(IoC)和面向切面编程(AOP)的功能。它通过将请求和响应的处理分离,使得开发人员可以更好地组织和管理代码。Spring MVC 提供了丰富的注解和配置选项,使得开发人员可以方便地实现 RESTful 风格的 API 接口或者传统的页面渲染。它还支持数据绑定、表单验证、拦截器、文件上传等常用的 Web 开发功能。 MyBatis 是一个优秀的持久层框架,它通过 XML 或注解的方式将数据库操作与 Java 对象之间进行映射。MyBatis 提供了灵活的 SQL 映射配置,使得开发人员可以自由地编写和优化 SQL 语句。它支持动态 SQL、缓存机制、延迟加载等高级特性,有效地提升了数据库操作的性能和开发效率。MyBatis 还与 Spring 框架无缝集成,可以通过 Spring 的事务管理机制来管理数据库事务。 综合来说,Spring MVC 和 MyBatis 在 Web 开发中有着不可替代的作用。Spring MVC 提供了优秀的控制反转和面向切面编程的支持,使得开发人员可以更好地组织和管理代码;而 MyBatis 则提供了强大的数据库操作能力,使得开发人员可以轻松地进行数据库访问。它们的结合可以使得开发人员更加高效地进行 Web 应用的开发。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值