MyBatis学习笔记3
七、mybatis实现查询所有数据
1.步骤
2.注意事项
实体类属性名和数据库表列名不一致,查询结果不能自动封装数据
使用resultmap映射
八、mybatis实现条件查询
1.步骤同上
2.注意事项
(1)参数占位符
【1】#{}
:执行sql时,会将#{}占位符替换为?,将来自动设置参数值
【2】${}
:拼sql。会存在sql注入问题
(2)使用时机
*参数传递,都使用#{}
*如果要对表名、列名进行动态设置,只能使用${}进行sql拼接。
(3)parameterType
:
用于设置参数类型,该参数可以省略
(4)SQL语句中特殊字符处理
【1】转义字符
【2】使用CDATA区
九、mybatis实现多条件查询
1.步骤同上
2.多个参数的三种设置
-
方法1:
-
方法2:
-
方法3:
十、mybatis实现多条件动态sql条件查询
修改sql语句,通过使用if标签,来判断那些字段需要添加,可以搭配where标签使用,避免出现标签单一造成的sql语法错误。
十一、mybatis实现单条件动态sql条件查询
修改sql语句,通过使用choose标签,它类似于Switch语句,来判断只能添加某一个字段,可以搭配where标签使用,避免出现一个字段都没有的情况,所以where标签很智能。
十二、mybatis实现数据的添加
1. 步骤
(1)编写接口方法Mapper接口
参数:除了id之外的所有数据
结果::void
(2)编写SQL语句
SQL映射文件
(3)执行方法,测试
MyBatis事务:
openSession()
:默认开启事务,进行增删改操作后需要使用sqlSession.commit();手动提交事务openSession(true)
:可以设置为自动提交事务(关闭事务)
2. 返回添加数据的主键
3. 自动提交事务
SqlSession sqlSession = sqlSessionFactory.openSession(true);