| |
|
开发:
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:32:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |