mybatis 学习笔记:mybatis 初认识
简介
MyBatis是一个Java持久层框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。mybatis 可以将 preparedStatement 中的输入参数自动进行映射,将查询结果集灵活映射成 java 对象。所以使用 mybatis 我们就可以不用写原生 jdbc 程序,并且能很好的避免 原生 jdbc 中 SQL 注入的问题。
一个完整 mybatis 程序的操作过程
1 配置 mybatis 的全局配置文件 SqlMapConfig.xml(名称不固定),该文件配置了数据源。事务等 mybatis 运行环境。
2 创建 java 文件,封装数据库对象。
3 配置映射文件 mapper.xml(名称不固定), 在该文件中,我们将对数据库封装的对象进行 SQL 语句操作。并在全局配置文件中通过mapper
加载该映射文件。
4 另外创建java 文件,通过配置文件,加载 mybatis 运行环境,创建 SqlSessionFactory
会话工厂(SqlSessionFactory
在实际使用时按单例方式)。
5 通过 SqlSessionFactory
创建 SqlSession
。SqlSession
是一个面向用户接口(提供操作数据库方法),实现对象是线程不安全的,建议sqlSession
应用场合在方法体内。
6 调用sqlSession
的方法去操作数据。如果需要提交事务,需要执行SqlSession
的commit()
方法。
7 释放资源,关闭SqlSession
。
mybatis 实例
下面我们通过一个具体的例子来实现 mybatis 的查询功能。
前提条件
首先是运行 mybatis 需要的前提条件,在这里我们需要连接数据库,所以需要 java 连接 MySQL 数据库的 jar 包,其次还需要 mybatis 的核心包,如果还需要用到日志功能的话还需要 log4j.jar
等,mybatis 的相关依赖可以在 GitHub 上找到:mybatis 地址
我们通过 maven 来导入具体需要的 jar 包,maven 的 pom.xml 中配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.itcast</groupId> <artifactId>mybatis</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- mysql 驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency> <!-- test 测试文件 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- mybatis 核心jar包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!-- mybatis 附加功能包,如日志功能等 --> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.9.6</version> </dependency> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant-launcher</artifactId> <version>1.9.6</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>5.2</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.2.5</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.22.0-GA</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.1.16</version> </dependency> <dependency> <
转载于:https://www.cnblogs.com/loveyoulx/p/9525998.html
mybatis 学习笔记:mybatis 初认识相关推荐
- Mybatis学习笔记——Mybatis入门
文章目录 Mybatis入门 1.为什么要使用mybatis? 2.ORM 3.mybatis简介 4.mybatis框架 5.mybatis入门程序 5.1搭建环境 5.2 配置log4j 5.3 ...
- mybatis学习笔记(13)-延迟加载
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(13)-延迟加载 标签: mybatis [TOC] resultMap可以实现高级映射(使用asso ...
- mybatis学习笔记(7)-输出映射
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...
- mybatis学习笔记(3)-入门程序一
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(3)-入门程序一 标签: mybatis [TOC] 工程结构 在IDEA中新建了一个普通的java项 ...
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
前面的文章介绍了MyBatis多参数传递的注解.参数默认命名等方式,今天介绍Map的方式.仍然以前面的分页查询教师信息的方法findTeacherByPage为例(示例源代码下载地址:http://d ...
- ant的下载与安装——mybatis学习笔记之预备篇(一)
看到这个标题是不是觉得有点奇怪呢--不是说mybatis学习笔记吗,怎么扯到ant了?先别急,请容我慢慢道来. mybatis是另外一个优秀的ORM框架.考虑到以后可能会用到它,遂决定提前学习,以备不 ...
- mybatis学习笔记--常见的错误
原文来自:<mybatis学习笔记--常见的错误> 昨天刚学了下mybatis,用的是3.2.2的版本,在使用过程中遇到了些小问题,现总结如下,会不断更新. 1.没有在configurat ...
- mybatis学习笔记(1)-对原生jdbc程序中的问题总结
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(1)-对原生jdbc程序中的问题总结 标签:mybatis [TOC] 本文总结jdbc编程的一般步骤 ...
- MyBatis:学习笔记(4)——动态SQL
MyBatis:学习笔记(4)--动态SQL 转载于:https://www.cnblogs.com/MrSaver/p/7453949.html
- Mybatis学习笔记(二) 之实现数据库的增删改查
开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...
最新文章
- c语言指针编程易错点,C语言中指针的一些易错点!
- 月薪 5 万清华姚班 NOI 金牌得主在线征友被群嘲,当代互联网相亲有多难
- 会python可以从事什么工作-Python入门后,想要从事自由职业可以做哪方面工作?...
- Promise深度学习---我のPromise/A+实现
- Attention的梳理、随想与尝试
- C++中如何读取一个数的位数_求1000以内的水仙花数
- null和undefined相等
- 燃料电池厂商的市场竞争
- 晚安,2017。你好,2018。
- Flume 知识点总结
- TensorFlow相关的一些技巧
- VGG合成文字数据生成方法
- 用MATLAB绘制三维网格图和三维曲面图
- 【原创】破解无线路由密码的那些事儿
- vue实现倒计时60秒
- microsoft edge 浏览器添加兼容网址
- ip 子网数目 网络号 主机号 广播地址 可用IP地址范围
- 如何在iis中设置可以在网页上面直接下载安卓app并自动安装
- 大家都可以学的制作个人网
- 信息无障碍专业术语---障碍