mybatis 总结
properties 属性 加载properties配置文件使用
setting mybatis 运行参数
typeAliases类型别名
typeHandles类型处理器
objextFaactory 都西昂工厂
plusins 插件
environment环境变量
databaseIdProvider数据库厂商标识
maper把sql应色号文件组测给mybatis运行
首先获得配置资源的路径,创建一个六,通过流从配置文件拿到参数,然后在build将参数传递过去,得到工厂,调用opensession创建实例。
通过实例调用各种操作。
查询操作:
分为selectone和selectList
selectone只能处理返回结果只有一行的数据,不然报错
selectList都可以处理,不过selectlist处理一行数据不方便。
调用方法的第一个位置为命名空间加方法名,第二个为参数。
在对应mapper的xml文件中,select用paramType 传递参数,为预先占位的属性赋值,resttype返回值类型????
insert,update,delete都没有resulttype属性,默认返回影响的行数
在adduser与updateuser标签内,传入参数时sys实体类,#{}不能随意填写,必须是实体类属性名
重点:
insert,update,delete标签对相应数据库的郑删改,不能乱用。底层时queryupdate
insert调价语句,如果主键自增,可以调用useGeneratedKeys="true"
重点3:当parameterType 的值时实体类自定义对象时,#{}内容必须是实体类属性名
重点4:insert,delete,update标签没有resultType返回值。默认返回int受影响⾏数。
如传递参数大与一个小于对象的属性,可以用param属性标记,mybatis会把标记的添加到map集合中。
resultType 返回数据的类型(单条数据类型)(根据查询语句使用的格式不同 返回不同的数据类型)
1返回对象(实际数据对应) (多列数据)
2单个字段(某个字段) (单列数据)
3map格式(某些字段) (少用)
*****:遵循connection方法原则,只能传入一个对象
mybatis核心对象:
. SqlSessionFactoryBuilder: SqlSessionFactoryBuilder⽤过即丢,其⽣周期只存在于⽅法体内,可重⽤。
SqlSessionFactoryBuilder来创建多个SqlSessionFactory 实例。
1. SqlSessionFactory: SqlSessionFactory是每个MyBatis应⽤的核⼼; 单例,存在于整合应⽤运⾏时,并且同时只存在⼀个对象实例;
1. SqlSession 包含了执⾏sql所需的所有⽅法,可以通过SqlSession实例直接运⾏映射的sql语句;
SqlSession对应着⼀次数据库会话,它的⽣命周期不是永久的,在每次访问数据库时都 需要创建它每个线程都有⾃⼰的 SqlSession 实例,SqlSession实例是不能被共享,也不 是线程安全的。
调⽤insert,update,selectList,selectOne,delete等⽅法执⾏增、删、查、改等操作; 调⽤getMapper(xxx.class)来实例化接⼝执⾏增删查改;
注意:并不是说在⼀个SqlSession会话中只能执⾏⼀次Sql,可以执⾏多次,当关闭了 SqlSession就需要重新创建。同时关闭是⾮常重要,必须确保正常关闭。
特殊查询:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析