resultType:
如果返回结果为集合,则resultType设置为集合的元素数据类型。
例如,返回学生对象的集合,则resultType是Student类
关于 提交commit()
查询方法不需要commit()
增删改需要commit()
或者在new SqlSessionFactoryBuilder.build(InputSream).openSession(true)
openSession()方法设置为true,即打开自动提交
select语句是limit用法
select * from student limit 2,6;
意思是:student表里查询从第3个开始查询6条学生信息
#{ }
#{ }相当于占位符?
¥{}
¥{}是mybatis里的拼接符,例如模糊查询里的like name = %张三%
可以写成¥{value},那么在代码里传参的时候直接写(“张三”)就行
如果只是写#{name },那么传参的时候需要写成("%张三%")
dtd
mybatis的配置文件是dtd约束,意思是里面的各个标签要按照顺序配置,顺序错误的话会报错
例如mappers如果放在environments的上面就会报错
具体顺序为:
properties(属性), settings(全局配置参数), typeAliases(别名), typeHandlers(类型处理器), objectFactory(对象工厂),
objectWrapperFactory?, reflectorFactory?, plugins?, environments(环境), databaseIdProvider?, mappers(映射)
resultMap
resultMap可以解决类和数据库字段不一样的问题,别的作用暂时还没学到
类中和数据库的字段一致的属性可以不用配。
例如类中是sid,数据库里也是sid,只要type属性的名字和类名一样,即使不配置也是没问题的,但是这只对单表查询有效,关联查询时候依然要配全,所以还是配全比较好