博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis学习笔记之基础框架(2)
阅读量:7020 次
发布时间:2019-06-28

本文共 1586 字,大约阅读时间需要 5 分钟。

mybatis学习笔记之基础框架(2)

mybatis是一个持久层的框架,是apache下的顶级项目。
mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足sql语句
mybatis可将向prparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)
SqlMapConfig.xml(是mybatis的全局配置文件,名称不固定)
配置了数据源/事务等mybatis运行环境
配置映射文件(配置sql语句)
mapper.xml(映射文件)/mapper.xml/mapper.xml
SqlSessionFactory(会话工厂)
作用:创建SqlSesion
SqlSession(会话,是一个接口,面向用户程序员的接口)
作用:操作数据库(发出sql增删改查)
Executor(执行器,是一个接口(基本执行器/缓存执行器))
作用:SqlSes内部通过执行器操作数据库

mapped statement (底层封装对象)作用:对操作数据库存储封装,包括sql语句。输入参数/输出结果类型输入参数类型 java简单类型 hashmap pojo自定义输出参数类型 java简单类型 hashmap pojo自定义

3.入门程序:

需求:根据用户id(key)查询用户信息

根据用户名称模糊查询用户信息
添加用户
删除用户
更新用户

mybatis运行环境(jar包)

lib下的依赖包:核心包
mybatis-3.3.0.jar:操作指南
加入mysql的驱动包
3.0创建po类

3.1映射文件

映射文件命名:
User.xml(原始ibatis命名),mapper代理开发映射文件名称叫xxxMapper.xml,比如:UserMapper.xml/ItemsMapper.xml
在映射文件中配置sql语句。

3.2在sqlMapConfig.xml映射文件

在sqlMapConfig.xml中加载user.xml

3.3添加用户

4.0程序的编写小结

3.3.1parameterType 在映射文件中通过parameterType指定输入参数类型。
3.3.2resultType 在映射文件中通过resultType指定输出结果的类型。
3.3.3 #{}和${} #{}表示一个占位符。${}表示一个拼接符号,但会引起sql注入,不建议使用。
3.3.4SelectOne和selectList
selectOne表示查询一条记录进行映射。如果使用selectOne可以实现那么也可以使用selectList实现。
selectList 表示查询出一个列表(多条记录)进行映射。如果使用selectList查询多条记录不可用selectOne代替。

  1. 动态sql

    mybatis核心对sql语句进行灵活操作,同伙表达式进行判断,对sql进行灵活拼接、组装。

    5.1用户信息中和查询列表和用户信息查询列表总数这两个stat的定义使用动态sql。

    对查询条件进行判断,如果输入条件不为空,才进行拼接。

5.2sql片段5.3foreach    向sql传递数组或List,mybatis使用foreach解析。5.3.1需求    SELECT * FROM USER WHERE id=1 OR id=2 OR id=3    或者    SELECT * FROM USER WHERE id IN(1,2,3)5.3.2实现在输入参数类型中添加`List
ids` 传入多个参数。

转载于:https://www.cnblogs.com/lanzhi/p/6468034.html

你可能感兴趣的文章
LeetCode – Refresh – Anagrams
查看>>
Zabbix3.2监控Windows的内存使用百分比并在内存使用率超过85%的时候触发报警
查看>>
【51nod1592】数列积
查看>>
NGUI 简单的背包系统
查看>>
利用ResultFilter实现asp.net mvc3 页面静态化
查看>>
day18 python之re模块与正则表达式
查看>>
进制转换的方法原理
查看>>
ethereumjs/ethereumjs-vm-4-tests
查看>>
图片压缩工具Thumbnailator的使用
查看>>
安装tensorflow
查看>>
LintCode_469 等价二叉树
查看>>
UVALive3261 UVA1640 POJ2282 HDU1663 ZOJ2392 The Counting Problem【进制】
查看>>
Mathematica开始学习,
查看>>
Gulp 简单的开发环境搭建
查看>>
linux基础-网络基础知识篇
查看>>
使用MulticastSocket实现多点广播
查看>>
RGBA与RGB
查看>>
网盘链接
查看>>
评论发布信息可插入QQ表情
查看>>
iOS,多媒体,地图相关
查看>>