3.1MyBatis入门了解概念
l ORM:Object Relative Mapping(对象关系映射)将表映射成实体类,表中字段映射成实体类中的属性。MyBatis会自动将查询出的结果封装到实体类中
l Mapping:映射文件,将表和实体类之间进行一个关联。
3.2MyBatis 程序运行流程
l 加载配置文件:Configurationà mybatis-config.xml à 对应实体类的Mapping.xml
l 初始化 SqlSessionFactory
l 初始化Sqlsession
l 执行Mapping映射文件的SQL操作
l 如果SQL语句查询,MyBatis自动将结果封装到实体类
l 如果SQL语句增、删、改操作,则必须通过事务进行数据提交或者回滚
3.3#{} 和 ${}的区别
MyBatis中的数据传递,推荐使用# ,#将传入的数据当成一个字符串,会对自动传入的数据加一个双引号,$ 将传入的数据直接显示在sql 语句中,并且# 方式能够很大程度上防止SQL的注入,而$ 无法防止SQL注入
#相当于对数据 加上 双引号,$相当于直接显示数据
使用排序时,应使用$
其他时候能用 # 最好用#
#:预编译
==> Preparing: select * from teacher where t_id=? ==> Parameters: 3(Integer) <== Total: 1 3 |
$:参数直接跟在后面
==> Preparing: select * from teacher where t_id=3 ==> Parameters: <== Total: 1 3
|