怒火一刀代理平台,神马排名seo,点餐系统微信小程序,比汉斯设计网站素材目录 MyBatis 是什么#xff1f;MyBatis框架搭建1.添加MyBatis框架2.设置MyBatis配置数据库的相关链接信息xml 保存路径和命名格式 根据MyBatis写法完成数据库的操作MyBatis插件MyBatis传递参数查询${} 和 #{} 有什么区别#xff1f;SQL注入问题 MyBatis like查询MyBatis多表… 目录 MyBatis 是什么MyBatis框架搭建1.添加MyBatis框架2.设置MyBatis配置数据库的相关链接信息xml 保存路径和命名格式 根据MyBatis写法完成数据库的操作MyBatis插件MyBatis传递参数查询${} 和 #{} 有什么区别SQL注入问题 MyBatis like查询MyBatis多表查询MyBatis删除操作MyBatis修改操作MyBatis添加操作 MyBatis 是什么
MyBatis 是⼀款优秀的持久层框架它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJOPlain Old Java Objects普通⽼式 Java 对象为数据库中的记录。
MyBatis ORM(对象关系映射框架) 实现更加简单的操作数据库的框架。它的底层是基于JDBC。
MyBatis框架搭建
1.添加MyBatis框架 2.设置MyBatis配置
数据库的相关链接信息
# 设置数据库的相关链接信息
spring.datasource.urljdbc:mysql://127.0.0.1:3306/mycnblog2023?characterEncodingutf8
spring.datasource.usernameroot
spring.datasource.passwordroot
spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driverxml 保存路径和命名格式
# 设置MyBatis XML 存放路径和命名格式
mybatis.mapper-locationsclasspath:mybatis/*Mapper.xml# 配置MyBatis 执行时执行打印SQL
mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.example.demodebug根据MyBatis写法完成数据库的操作
常规的写法包含两个文件 1.接口方法的声明(给其他层(Service)调用) 2.XML实现接口
1.定义接口 2.使用XML实现接口
MyBatis插件
为了方便开发MyBatis实现XML和对应的接口之间的快速跳转可以安装一个MyBatisX的插件
MyBatis传递参数查询 类中的属性和数据库表中的字段名不一致时那么查询结果为null解决方案
1.将类中的属性和表中的字段名保持一致(最简单的解决方案)。
2.使用SQL语句中的as进行列名(字段名)重命名让列名(字段名)等于属性名。3.定义一个resultMap将属性名和字段名进行手动映射。及时执行 **预执行**它的执行是安全的可以防止SQL注入。
${} 和 #{} 有什么区别
${} 直接替换#{} 预执行。${} 是不安全存在SQL注入#{} 是安全的不存在SQL注入。
SQL注入问题 从上面的示例可以看出${}可以实现的 功能#{}都能实现并且 ${}还存在SQL注入问题那为什么 ${}的写法还存在 ${}适用场景当业务需要传递SQL命令时只能使用 ${},不能使用#{}
${}注意事项如果要使用 ${}那么传递的参数一定要能被穷举否则不能使用。MyBatis like查询 like 使⽤ #{} 报错 相当于 select * from userinfo where username like ‘%‘username’%’; MyBatis多表查询
MyBatis注解方式实现多表查询
MyBatis删除操作 MyBatis修改操作 MyBatis添加操作
MyBatis添加返回受影响的行数 MyBatis添加返回自增ID