| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 大数据 -> Mybatis框架 -> 正文阅读 |
|
|
[大数据]Mybatis框架 |
|
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀==持久层框架==。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录. 半自动化框架。必须写sql语句。 ----> 1.1首先需要添加jar包
1.2 创建数据库库和表
1.3添加Mybatis的配置文件mybatis.xml
?1.4定义表所对应的实体类
1.5定义操作users表的sql映射文件userMapper.xml
1.6在 mybatis.xml文件中注册userMapper。xml文件
1.7编写测试代码:执行定义的select语句
2操作对user表的增删改查? 2.1,XML的实现 (1)定义sql映射xml文件
(2)在mybatis.xml中注册这个映射文件? ? ?(3)在dao接口调用 3.实际开发的模式
(1) 创建一个接口
(2)创建映射文件 4几个可以优化的地方 4.1连接数据库的配置单独放在一个properties文件中 ? ?4.2位实体类定义别名,简化sql映射xml文件中的引用
4.3可以在src下加入log4j的配置文件打印日志信息
5.解决字段名与实体类属性名不相同的冲突 5.1 准备表和数据
5.2定义实体类
5.3实现getOrderById(id)的查询
6.实现关联表查询 6.1一对多关联 (1)提出需求 根据班级id查询班级信息? (2)创建表和数据
(3)定义实体类
(4) 定义sql映射文件classMapper.xml
(5)测试?
6.一对一关联 (1)提出需求 根据dept查询对于的部门信息,包括员工 (2)创建表和数据 emp表
dept表
(3)定义实体类 dept类
emp类
(4)定义sql映射文件 方式1:?嵌套结果: 使用嵌套结果映射来处理重复的联合结果的子集 ? 方式2:?方式二:嵌套查询:通过执行另外一个 SQL 映射语句来返回预期的复杂类型 (5)测试
?7.动态SQL与模糊查询 7.1Mybatis动态sql语句使用方式和例子 建表如下
?(1)if元素 接口如下
映射文件
(2)choose
?(3).trim元素可以帮助我们去掉一下and,or等,prefix代表语句前缀,prefixOverides代表要去掉的字符串
(4) set元素,他可以在遇到逗号的时候,把对应的逗号去掉
(5) foreach元素,他是一个循环语句,作用时用来遍历集合,支持数组,List,Set接口集合
(6)测试
8.pagehelper分页插件 8.1使用 PageHelper 你只需要在 classpath 中包含 pagehelper-x.y.z.jar 和 jsqlparser-x.y.z.jar。 8.2 在 MyBatis 配置 xml 中配置拦截器插件
8.3?使用
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/1 5:42:12- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |