mybatis 基础代码(非spring)


MyBatis 是一款著名的Java持久层框架,它允许开发者将SQL语句与Java代码分离,提供了更为灵活的数据库访问方式。在这个"mybatis 基础代码(非spring)"项目中,我们将深入探讨MyBatis的核心概念和基础用法,不依赖于Spring框架。 1. **MyBatis配置**: - `mybatis-config.xml`是MyBatis的全局配置文件,用于设置数据源、事务管理器、类型别名等。在这个项目中,你需要配置数据库连接信息,例如JDBC驱动、URL、用户名和密码。 2. **Mapper接口与XML映射文件**: - 在MyBatis中,业务逻辑通过Mapper接口实现,而具体的SQL语句则在对应的XML映射文件中编写。比如,你可以创建一个`UserMapper`接口,然后在`UserMapper.xml`中定义`select`, `insert`, `update`, `delete`等操作。 3. **SqlSessionFactory和SqlSession**: - `SqlSessionFactoryBuilder`用于创建`SqlSessionFactory`,它是MyBatis的核心对象,负责生成`SqlSession`实例。 - `SqlSession`则是执行SQL操作的对象,通过它来执行Mapper中的方法。 4. **增删改查操作**: - `insert`:在XML映射文件中定义插入语句,Mapper接口中对应的方法通常接收一个实体对象作为参数,调用`insert`方法后,实体对象的数据会被插入到数据库中。 - `update`:类似地,更新操作需要定义更新语句,并根据条件修改指定记录。 - `delete`:删除操作也需要定义SQL,根据条件删除匹配的记录。 - `select`:查询操作可以是单个记录或多个记录,可以使用`selectOne`或`selectList`方法,同时可以利用MyBatis的动态SQL功能进行条件判断。 5. **关联查询**: - MyBatis支持一对一、一对多、多对多等关联查询。通过`<association>`, `<collection>`标签可以实现复杂的数据关联。例如,用户与角色是一对多关系,可以在UserMapper.xml中定义一个查询所有用户及其关联角色的方法。 6. **结果映射**: - 结果映射是MyBatis将查询结果自动映射到Java对象的过程。你可以使用`resultMap`标签定义映射规则,包括列名与Java属性的对应、级联映射等。 7. **参数映射**: - MyBatis支持两种参数映射方式:`#`和`$`。前者用于预编译参数,后者将参数直接拼接在SQL字符串中。通常推荐使用预编译参数以防止SQL注入。 8. **事务控制**: - 由于该项目没有整合Spring,事务管理需要手动处理。可以通过SqlSession的`beginTransaction`, `commit`, `rollback`方法进行控制。在操作数据库前先开启事务,操作成功后提交事务,遇到异常则回滚。 9. **Maven管理**: - 使用Maven作为项目构建工具,可以方便地管理项目的依赖。在`pom.xml`中声明MyBatis以及数据库驱动等相关依赖,Maven会自动下载并管理这些库。 通过这个非Spring环境下的MyBatis基础项目,你可以了解到MyBatis如何独立工作,理解其核心机制,为后续整合Spring或其他框架打下坚实的基础。在实践中不断摸索和优化,将使你更加熟练地运用MyBatis解决实际问题。























































































- 1


- 粉丝: 73
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于单片机的电动轮椅用手柄控制器设计-电子信息工程单片机课程设计.doc
- 数据库管理员需掌握技术.doc
- 基于深度学习的自然语言处理开源框架-文本分类-情感分析-机器翻译-问答系统-文本摘要-命名实体识别-知识图谱构建-智能客服-舆情监控-内容审核-智能写作助手-多语言处理-预训练模型.zip
- 毕业论文-基于IOS平台的语音智能应用--毕业论文.docx
- 销量同比分析Excel表格.xlsx
- 自动化毕业设计-毕业论文-电子称的硬件电路设计-毕业设计.doc
- 关于Visual-foxpro教学方法的一点思考-精度课文的教学方法思考.doc
- PLC语法错误.doc
- 分类组合图表Excel模板.xlsx
- 2020年自动化毕业论文开题报告范例.doc
- 基于单片机的密码锁的.doc
- 校园自助打印系统-基于SpringBoot和Vue的分布式打印服务平台-提供学生和教职工在线提交打印任务-支持文件上传-格式转换-支付结算-打印队列管理-设备状态监控-用户权限控制.zip
- 试析案例驱动的软件工程教学改革与实践论文.doc
- Java程序员的发展趋势分析.doc
- 智能家居设计方案毕业论文初稿.doc
- oracleerp采购管理模块操作手册.doc.doc


