发表于: 2017-09-22 23:53:21

1 739


今天完成的任务

写作业


1.学习了如何判断mybait的删除更改语句是否生效


一个比较简单的判断方法(单次调用),是在接口直接声明int属性的接口。

@Delete("delete from student where id= #{id}")
public int del(Category category);//删除


这样在方法中会直接返回0失败,1sql语句使用成功。

categoryMapper.del(category)


但是根据mybatis的官方文件(这我也不知道是不是真的):If the BATCH executor is in use, the update counts are being lost



这种方法对批量处理sql语句很容易失败。



2.#{} ${},因为这是我临睡前学会的,故而没有在作业里书写


从理论上来说

#{id}的方式在注入到sql语句是以“id”的形式注入的,在某一方面很大程度提高了防止其它途径对其的注入


而${id}是以 id的形式注入到sql语句里面的,很容易被其它方式更改


一般而言${}可以用于对sql语句中对表名进行修改,即如下图




即通过#{} ${}分别对表名进行修改,在log4j检测到生成的语句分别是


#{}  :




select * from "student"


${}:

  
select *from student



故而表名只可以用${}




下附#{} ${}在实际代码中的写法


category.setListDate("student")


@Insert("insert into ${ListDate} ( id,home,no,EntranceTime,name,sex,age,qq,school,city,motto) values (#{id},#{home},#{no},#{EntranceTime},#{name},#{sex},#{age},#{qq},#{school},#{city},#{motto})")



明天要做的事 如果作业没什么问题我想开始入手任务二,作业有问题改作业


今天稍微有点忙,学的东西不算很多



遇到的问题


收获



返回列表 返回列表
评论

    分享到