Mybatis实现MySQL的增删改查

映射文件的写法

SELECT查询


	    <select
		
		    id="接口中的方法名"    --- 唯一标识。必须的
			
			parameterType="参数类型"    --- 参数类型。可选的
			
			resultType="返回值类型"   --- 查询结果的类型
			
			resultMap="结果集类型"   --- 结果集需要映射
			
			flushcache="false"     --- 是否清空本地和二级缓存。true表示清空,false(默认)表示不清空
			
			useCache="true"    --- 是否将本条语句的执行结果进行二级缓存。默认是true
			
			timeout="10000"    --- 语句抛出异常时,数据库返回结果的秒数
			
			fetchSize="256"    --- 批量返回结果的行数
			
			statementType="PREPARED" --- jdbc语句对象的类型(statement、PreparedStatementCallableStatement)
			
			     STATEMENT --- statement
				 
				 PREPARED --- PreparedStatement (默认)
				 
				 CALLABLE --- CallableStatement
		
		>
		
		   select语句
		   
		</select>

INSERT插入

<insert
		
		    id="接口中的方法名"   //唯一标识, 必须的
			
			parameterType="参数类型"  //参数类型,插入数据的类型
			
			statementType="PREPARED"
			
			useGeneratedKeys="false"  //只对inser、update语句有用。若使用了主键自增
			
			keyColumn=""  //只对inser、update语句有用.指定主键自增的列
			
			keyProperty="" //只对inser、update语句有用.指定自增的属性
		
		>
		  
		   insert语句
		  
		</insert>
		
		//'#{}'类似于 PreparedStatement语句中的'?',是一个占位符。可以有效防止sql注入式攻击

DELECT删除

<delete
		
		   id="接口中的方法名"   //唯一标识, 必须的
			
			parameterType="参数类型"  //参数类型,插入数据的类型
		
		>
		    delete语句
		</delete>

UPDATE更新

  <update
		  
		   id="接口中的方法名"   //唯一标识, 必须的
			
		   parameterType="参数类型"  //参数类型,插入数据的类型
		>
		
		   update语句
		   
		</update>

模糊查询

#{}和${}的使用方法和区别:

       (1)    #{}    是预编译处理,MyBatis在处理#{}时,它会将sql中的#{}替换为?,然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号,使用占位符的方式提高效率,可以防止sql注入。

       (2 )   ${}    表示拼接sql串,将接收到参数的内容不加任何修饰拼接在sql中,可能引发sql注入。

例如:查询姓’贾’的记录

//sql语句
 select * from stu where sname like '%贾%';
 //映射文件写法
  select * from stu where sname like '%${
   lastName}%'
		   
  select * from stu where sname like concat('%'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值