我都惊呆了,快捷键真棒
我都惊呆了,快捷键真棒
在mapper中
namespace给文件重新命名
在select中
需要完整的select sql语句
在mybatis中需要
selcet id
select语句中占位符不在使用?而使用sql
parameterType中放置类型
在xml中写sql语句
在user中调用xml映射
for循环中用于输出list中给存放的结果集。
在mybatis中 模糊查询(like)中 我们在sql中写%王%在mybatis中用%${王}%,用${}去包裹字符串
字符串拼接(%${}%)和占位符(#{})的区别
SQL中各有一个比较有意思的事情,当我们使用字符串拼接的时候我们会使用%王%,
这样会导致sql注入(不安全)
但是在sql中可以使用两个双引号包裹%来解决
“%”‘王’“%”
在mtbayis中将‘王’用#{}
字符串拼接(%${}%)和占位符(#{})的区别
SQL中各有一个比较有意思的事情,当我们使用字符串拼接的时候我们会使用%王%,
这样会导致sql注入(不安全)
但是在sql中可以使用两个双引号包裹%来解决
“%”‘王’“%”
在mtbayis中将‘王’用#{name}代替即可
添加用户
在操作数据库的语句中
可以不要返回值
将传递的参数添加;比如添加一个user对象
用set方法加入所需的东西
如果用select就用select的标签
如果要插入就用insert标签
以此类推
首先创建一个接口
接口的方法名与mapper.xml中需要调用的sql语句的id一致
接口的返回值类型与xml的返回值类型一致
接口的参数类型和xml中的
关联查询
sql:select * from user u join country c on u.'u_cid'=c.'c_id'
<resultMap type=
id 写主键
result 写普通属性 这样能够增加性能
MyBatis动态代理
使用Mapper动态代理开法需要遵循四大原则
1.接口方法名需要与mapper.xml的要调用的sql语句的id一致
2.接口的形参类型需要与mapper.xml parameterType 一致
3.接口的返回值需要与mapper.xml resultType一致
4.mapper.xml中namespace要与接口的全包名一致
<where></where> 代替 where
他可以帮助去掉 前and
<trim prefix="where" prefixOverrides="and"></trim>
用于代替 上面的where ,并且使用suffixOverrides="and" 可以去掉 后and
set 标签 解决更新数据表时字符串拼接逗号"," 问题
有点不理解为什么没有写 parameterType但是呢能够传递参数
如果有同学遇到MyBatis Generator生成的实体类和数据库指定表中的数据不一样这个问题,需要在<jdbcConnection>这个标签里面配置这样一个<property>属性
<property name="nullCatalogMeansCurrent" value="true"/>
详细信息请参考以下链接:
https://blog.csdn.net/weixin_41809435/article/details/85207563
foreach标签
四个包 build path
取代dao层
方法名要和mapper 的ID一致
接口的类型和paeatype 一致
接口返回的值需要和result类型一致
mapper