当前位置:首页 > 经验 >

mybatis菜鸟教程(mybatis学习手册)

来源:原点资讯(www.yd166.com)时间:2022-10-29 11:29:14作者:YD166手机阅读>>

mybatis菜鸟教程,mybatis学习手册(1)

mybatis基本配置及执行

使用了mybatis首先需要两个配置文件,一个是mybatis-config.xml,是mybatis的基础配置文件,配置数据库的地址、用户名、密码、别名信息、映射配置文件位置以及一些全局配置;另一个配置文件是mapper.xml,这是实体与表的映射文件,定义了映射规则以及一些SQL语句。

配置文件配置全局配置文件

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 数据库配置 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- mapper配置 --> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration> mapper配置文件

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace为mapper接口的全类名,用于区分不同Mapper接口中的相同方法 --> <mapper namespace="com.zhanghe.study.mybatis.mapper.UserMapper"> <!-- 查询数据的方法 --> <select id="selectUser" resultType="com.zhanghe.study.mybatis.model.User"> select * from users where id = #{id} </select> </mapper> 执行流程

了解了配置文件之后,进行了解执行的整体流程,首先程序会先加载mybatis-config.xml配置文件,根据配置文件内容创建SqlSessionFactory对象,然后,通过SqlSessionFactory创建SqlSession对象,SqlSession接口中定义了执行SQL语句所需的各种方法,通过SqlSession对象执行配置文件中的定义的SQL语句,完成相应的数据操作,最后通过SqlSession提交事务,关闭SqlSession对象

创建SqlSessionFactory

SqlSessionFactory是Mybatis的核心,可以通过SqlSessionFactoryBuilder获得,SqlSessionFactoryBuilder从mybatis的配置文件构建出SqlSessionFactory实例

public static SqlSessionFactory createFactory(){ // 获取到mybatis-config.xml配置文件,进而构建SqlSessionFactory InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("mybatis-config.xml"); return new SqlSessionFactoryBuilder().build(is); } 获取SqlSession

通过SqlSessionFactory实例,可以获取到SqlSession的实例,sqlSession提供了在数据库执行SQL命令所需的所有方法,可以通过SqlSession实例来直接执行已映射的SQL语句

老版本执行

public static SqlSession getCurrentSession(){ SqlSessionFactory factory = createFactory(); return factory.openSession(); } SqlSession session = getCurrentSession(); // selectOne方法的两个参数 1、sql的唯一标识(namespace id) 2、sql所需要的参数 User user = session.selectOne("com.zhanghe.study.mybatis.mapper.UserMapper.selectUser",2); System.out.println(user); // 关闭session session.close(); 新版本执行

由于老版本操作时容易出现一些问题,新版本的mybatis进行了改善,将整个mapper文件的命名空间映射为一个接口,每个mapper中的sql语句映射为接口中的方法

public interface UserMapper { User selectUser(Integer id); }

session = getCurrentSession(); // mybatis为接口创建代理对象 UserMapper userMapper = session.getMapper(UserMapper.class); User user1 = userMapper.selectUser(2); System.out.println(user1); session.close();

栏目热文

mybatis简单示例(mybatis例子)

mybatis简单示例(mybatis例子)

Spring之所以能打败其他所有同类型Java开发框架屹立不倒的重要原因之一就是提供很多扩展点,让其他组件和框架很容易就...

2022-10-29 11:54:56查看全文 >>

mybatis基本工作流程(mybatis中的基础知识和快速入门)

mybatis基本工作流程(mybatis中的基础知识和快速入门)

1、首先是读取Mybatis的核心配置文件Mybaits-config.xml,该文件主要是配置了数据库的连接信息、用户...

2022-10-29 11:42:24查看全文 >>

mybatis原理通俗易懂(my batis的工作原理)

mybatis原理通俗易懂(my batis的工作原理)

近来想写一个Mybatis的分页插件,但是在写插件之前肯定要了解一下mybatis具体的工作原理吧,于是边参考别人的博客...

2022-10-29 11:56:10查看全文 >>

mybatis源码深度解析(mybatis源码详细讲解)

mybatis源码深度解析(mybatis源码详细讲解)

一、前言1、mybatis框架图如上为mybatis的框架图,在这篇文章中通过源码来重点看下数据处理层中的参数映射,SQ...

2022-10-29 12:00:28查看全文 >>

mybatisplus优缺点(mybatis优缺点)

mybatisplus优缺点(mybatis优缺点)

在之前发表的文章中有说过mybatis,没看过的可以去看一看,今天来说一说他的升级版本,简而言之,就是mybatis-p...

2022-10-29 11:54:17查看全文 >>

mybatis工作原理通俗理解(mybatis真实原理)

mybatis工作原理通俗理解(mybatis真实原理)

作者:vivo互联网服务器团队-Zhang Peng一、MyBatis 完整示例这里,我将以一个入门级的示例来演示 My...

2022-10-29 11:27:50查看全文 >>

mybatis插入时间参数(mybatis接收日期参数)

mybatis插入时间参数(mybatis接收日期参数)

介绍MyBatis Generator的作用就是根据数据库中的表结构,帮我们自动生成和表结构相同的实体类,mapper接...

2022-10-29 12:02:57查看全文 >>

mybatis底层原理分析(mybatis底层原理图)

mybatis底层原理分析(mybatis底层原理图)

此篇文章讲述了MyBatis的原理,非常简单却很实用。持续分享Java技术干货,欢迎关注我。前言MyBatis 是一个被...

2022-10-29 11:32:36查看全文 >>

mybatis官方文档中文(mybatis免费)

mybatis官方文档中文(mybatis免费)

官网地址:https://github.com/mybatis/mybatis-3一个简单的mybatis-demo简概...

2022-10-29 11:32:46查看全文 >>

mybatis的工作原理和流程(mybatis执行流程讲解)

mybatis的工作原理和流程(mybatis执行流程讲解)

1、mybatis基本工作原理介绍计算机的基本工作就是存储和计算,而MyBatis是存储领域的利器。MyBatis的基本...

2022-10-29 12:10:38查看全文 >>

文档排行