岑溪网站开发工作室,网页特效管理系统,外贸网站建设电话,广告网站素材${}和#{}的区别
#{}给sql语句的占位符传值${}直接将值拼接到sql语句上#xff0c;存在sql注入的现象
什么时候用${}
需要先对sql语句拼接#xff0c;然后再编译。
字符串排序字段向SQL语句中拼接表名。比如根据日期生成日志表 批量删除
delete from car where in(${ids}…${}和#{}的区别
#{}给sql语句的占位符传值${}直接将值拼接到sql语句上存在sql注入的现象
什么时候用${}
需要先对sql语句拼接然后再编译。
字符串排序字段向SQL语句中拼接表名。比如根据日期生成日志表 批量删除
delete from car where in(${ids})模糊查询
select from car where name concat(%,#{name},%);select from car where name %${name}%select from car where name %#{name}%别名
在MyBatis中配置。type为被取的名字alias为取成什么
别名不区分大小写命名空间不可以取别名
typeAliasestypeAlias typecom.example.webapplication.pojo.Car aliasabc/typeAlias
/typeAliases如果省略alias。别名默认为类的简名
下述例子中别名为car/CAR
typeAliasestypeAlias typecom.example.webapplication.pojo.Car /typeAlias
/typeAliases如果类太多会写很多typeAlias标签
使用package可以将包下所有类起别名
typeAliasespackage namecom.example.webapplication.pojo/
/typeAliasesMapper
mappers下的mapper有3个属性可以选主要为了找到sql的配置文件
resource从类的根路径下开始找url绝对路径class值为接口的全限定名并且对应的xml必须与接口保存同一文件下名字也要相同
如果配置文件太多需要写的标签太多可以用package来指定包其他用法与class类似
mapperspackage namecom.example.webapplication.Mapper/
/mappers插入数据时自动获取数据的主键
useGeneratedKeys表示使用自动生成的主键值keyProperty表示将主键值赋值给对象的id属性
insert idinsert useGeneratedKeystrue keyPropertyid/