没有合适的资源?快使用搜索试试~ 我知道了~
MyBatis知识点总结 MyBatis是一款优秀的持久层框架,为Java应用程序提供了数据库访问的灵活性和高度可控性。以下是关于MyBatis的一些重要知识点总结: 1. MyBatis基础: MyBatis是一个支持自定义SQL、存储过程和高级映射的持久层框架。 MyBatis通过XML或注解的方式将Java对象映射到数据库中的SQL语句。 2. 配置文件和配置项: mybatis-config.xml是MyBatis的主配置文件,其中包含了数据库连接信息、类型别名、映射器配置等。 配置项如数据源、事务管理器、缓存配置、全局设置等可在配置文件中进行定义。 3. 映射器文件: 映射器文件(Mapper XML)定义了SQL语句和映射规则。每个映射器文件对应一个数据访问接口。 映射器文件中定义了SQL语句、参数映射、结果映射等。 4. SQL语句映射: MyBatis支持静态SQL和动态SQL。使用<select>、<insert>、<update>、<delete>等元素来定义SQL语句。 使用${}和#{}来插入参数,其中${}会直接替换,#{}会被预编译防止SQL注入
资源推荐
资源详情
资源评论
持久化框架技术
❖ Mybatis 的优势
1)与 JDBC 相比,减少了 50%以上的代码量
2)最简单的持久化框架,小巧灵活并简单易学
3)实现了 SQL 语句和代码的分离,解除了 SQL 语句与代码的耦合,可重用。
4)支持对象与数据库的 ORM 字段映射。
5)提供 XML 标签,支持编写动态 SQL。
❖ Mapper 映射器类使用的规则
1.Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 必须相同。
2.Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的
parameterType 的类型相同。
3.Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的
resultType 的类型相同。
4.Mapper.xml 文件中 mapper 元素的 namespace 属性即是 Mapper 接口的类路
径。
❖ 如何处理数据表字段与实体类属性不一致的问题
1.写 sql 语句时起别名,别名为实体类属性名称
2.在 MyBatis 的全局配置文件中开启驼峰命名规则,将表中字段的下划线自
动转换为驼峰(此方法仅适用于字段名的下划线转化为驼峰后恰好与类的属性名
一致的情况)
3、在 Mapper 映射文件中使用 ResultMap 自定义映射,映射字段名和实体
类属性名的对应关系。
❖ Mapper 常用配置如 sql 标签等的使用方法及作用
sql 标签:当 sql 中有重复的 sql 语句组成部分 可以将这些 sql 语句中的重
复部分进行抽取放到 sql 标签中,被其它语句引用。sql 标签中的 id 属性是 sql
标签的唯一标识。
include 标签:用来引用已经抽取出来的 sql 语句,include 标签的 refid
属性引用自定义的代码片段,其属性值为自定义代码片段的 id。
<bind>元素:可以用来在映射文件中定义变量,然后将输入参数中的值拼接
一些其他字符串后组成的字符串赋值给该变量。在 SQL 语句中可以直接引用
<bind>元素的 name 属性值即可进行动态 SQL 组装
❖ 动态 SQL 常用标签以及作用
1.<if> 标签
if 是为了判断传入的值是否符合某种规则,可以让我们有选择的加入 SQL
语句的片段。比如是否不为空。
2.<where>标签
在<if>判断后的 SQL 语句前面添加 WHERE 关键字,并处理 SQL 语句开始位
置的 AND 或者 OR 的问题。
3.<foreach>标签
foreach 标签可以把传入的集合对象进行遍历,然后把每一项的内容作为
参数传到 SQL 语句中。
4.<include>标签
include 标 签可以把大量的重复代码整理起来,当使用的时候直接
include 即可,减少重复代码的编写。
5.<set>标签
set 标签用于解决动态更新语句存在的符号问题。
6.<trim>标签
使用 trim 标签控制条件部分两端是否包含某些字符。
7.<choose> <when> <otherwise>标签
类似于 java 中的 switch 语句.在所有的条件中选择其一。
❖ 使用 JDBC 与 mybatis 的操作数据库的基础操作
JDBC 的操作步骤
第一步:注册驱动
第二步:获取连接
第三步:获取数据库操作对象
第四步:执行 sql 语句
第五步:处理查询结果集
第六步:释放资源
MyBatis 的操作步骤
1)通过 SqlSessionFactoryBuilder 创建 SqlSessionFactory
2)通过 SqlSessionFactory 创建 SqlSession
3)通过 SqlSession 执行数据库操作
4)调用 session.commit 提交事务
5)调用 session.close()关闭会话
❖ 利用动态 SQL 实现编程,如条件判断,模糊查询等操作,多参数传递
编写 HeroMapper 接口
package cn.lll.experiment02.dao;
import cn.lll.experiment02.pojo.Hero;
import java.util.List;
public interface HeroMapper {
public Hero selectByPrimaryKey(Integer id);
public Hero getHeroByNameAndPassword(Hero record);
public List<Hero> selectList();
public int deleteByPrimaryKey(Integer id);
public int insert(Hero record);
public int insertSelective(Hero record);
public int updateByPrimaryKey(Hero record);
public int updateByPrimaryKeySelective(Hero record);
}
剩余10页未读,继续阅读
资源评论
程序员Ale-阿乐
- 粉丝: 7804
- 资源: 99
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 物模块模型代码,前往设计物模块所属
- Java面试手册,助力大家面试过五关斩六将,面试成功
- HITK0303MP-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- mybatis动态sql之xml增删改查批量操作示例EmpMapper.xml
- C/C++内存检测工具Sanitizers
- HITK0302MP-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 宝塔批量建站工具,很优秀的宝塔管理工具,基于宝塔api
- HITK0204MP-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- azeryhgtfxhj
- 操作系统实验页面置换算法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功