mybatis动态代理开发模式

24 篇文章 0 订阅
15 篇文章 0 订阅
mybatis的运行原理:  
  百度
 
mybatis:在 模糊查询时 

  使用 #{}  和   ${} 的区别
 
 #{}的用法: 相当于jdbc的中的PreparedStatement预编译
  	 	   不会出现sql注入问题, 安全
 select * from user where name like concat('%',#{value},'%')
 
 ${}的用法: 相当于 jdbc的Statment 字符串拼接 , 
 	   	      不建议使用,容易出现sql注入问题
 select * from user where name like '%${value}%';
===================================================
mybatis的分页方式: 
 只 使用了 入参尾 Map集合的分页方式:  
   public List<User> getUsersByLimit(Map<String,Object> map); 

	map.put("startRow",(pageNo-1)*pageSize);
	map.put("pageSize",pageSize);

	select * from user 
		 limit #{startRow},#{pageSize};

2)使用 RowBounds 对象进行 分页
	
	sql不需要使用 limit 关键字
sql语句编写如下: 
	select * from user
	
 session.selectList("命名空间",null,new RowBounds(开始行,页大小));
====================================================
SqlMapConfig这个 全局配置文件:
 1) 别名: 
   由于 返回值类型 ,和 入参 的全路径名 较长
   所以mybatis 使用 别名的方式 来 简化开发
用法: 在全局配置 文件中, 使用 别名标签 typeAliases  
   
   <typeAliases>
   	 <typeAliase type="com.oracle.pojo.User" alias="user">
   	 <package name="com.oracle.pojo">
   	
 2)mappers 用来加载 指定的 mapper.xml 映射文件的
 
 mappers有以下几种类型:
 	扫描本地文件 
  1)<mapper url="C:\\Users\\Administrator\\Desktop\\UserDao.xml"/>
 	扫描接口
  2)<mapper class="com.oracle.dao.UserDao"/>
         扫描映射文件
  3)<mapper resource="com/oracle/mapper/UserDao.xml"/> 
   
  4)package name="com.oracle.mapper"
    
mybatis的 接口 和 mapper.xml 一般情况下 放在一起
====================================================
mybatis的开发方式: 
 3种:
  1)接口+实现类的方式  + mapper.xml映射文件
      UserDao + UserDaoImpl 传统的开发方式
  2)接口 + mapper.xml映射文件
           动态代理模式开发
  
   对数据库的 crud 操作:
    UserDao ----> mybatis帮你 创建 接口的 实现类
  
  
  3)基于注解开发
===============================================

掌握 mybatis的 动态代理开发模式: 
 1)编写UserMapper接口
 2)编写UserMapper.xml映射文件
 3)导入 SqlMapConfig全局配置文件
 4)编写  测试类
 	 通过 session.getMapper(UserMapper.class); 
 	  获取 动态代理对象 
 	  
使用mybatis的动态代理模式 时
实现登录操作,要用
 @Param 注解
   使用方式:  
   @Param("sql语句#{}中的名") String name
   @Param("sql语句#{}中的名") String pwd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值