当前位置:首页 > 经验 >

mybatis基础知识整理(mybatis初学者基础知识)

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

Mybatis简介

原始jdbc操作(查询数据)

mybatis基础知识整理,mybatis初学者基础知识(1)

原始jdbc操作(插入数据)

mybatis基础知识整理,mybatis初学者基础知识(2)

原始jdbc操作的分析

原始jdbc开发存在的问题如下:

①数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能

②sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。

③查询操作时,需要手动将结果集中的数据手动封装到实体中。插入操作时,需要手动将实体的数据设置到sql语句的占位符位置

应对上述问题给出的解决方案:

①使用数据库连接池初始化连接资源

②将sql语句抽取到xml配置文件中

③使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射

什么是Mybatis

mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。

mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。

最后mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。

Mybatis的快速入门

MyBatis官网地址: http://www.mybatis.org/mybatis-3/

mybatis基础知识整理,mybatis初学者基础知识(3)

MyBatis开发步骤

①添加MyBatis的坐标

②创建user数据表

③编写User实体类

④编写映射文件UserMapper.xml

⑤编写核心文件SqlMapConfig.xml

⑥编写测试类

环境搭建

导入MyBatis的坐标和其他相关坐标

<!--mybatis坐标--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!--mysql驱动坐标--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> <scope>runtime</scope> </dependency> <!--单元测试坐标--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!--日志坐标--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency>

创建user数据表

CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `username` varchar(50) DEFAULT NULL COMMENT '用户名', `password` varchar(50) DEFAULT NULL COMMENT '密码', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

编写User实体

public class User { private int id; private String username; private String password; //省略get个set方法 }

编写UserMapper映射文件

<?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"> <mapper namespace="userMapper"> <select id="findAll" resultType="com.zjq.domain.User"> select * from User </select> </mapper>

编写MyBatis核心文件 sqlMapConfig.xml

<!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:///test"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/zjq/mapper/UserMapper.xml"/> </mappers> </configuration>

编写测试代码

//加载核心配置文件 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //获得sqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); //获得sqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); //执行sql语句 List<User> userList = sqlSession.selectList("userMapper.findAll"); //打印结果 System.out.println(userList); //释放资源 sqlSession.close();

MyBatis的映射文件概述

mybatis基础知识整理,mybatis初学者基础知识(4)

首页 1234下一页

栏目热文

mybatis一级缓存和二级缓存(mybatis一级缓存和二级缓存的关系)

mybatis一级缓存和二级缓存(mybatis一级缓存和二级缓存的关系)

mybatis缓存机制mybatis包含缓存机制,恶意方便的配置和定制。默认定义了一级缓存和二级缓存。默认情况下,只有一...

2022-10-29 11:57:14查看全文 >>

mybatis通俗讲解(mybatis中的基础知识和快速入门)

mybatis通俗讲解(mybatis中的基础知识和快速入门)

版权声明:本文为CSDN博主「$码出未来」的原创文章原文链接:https://blog.csdn.net/yuansha...

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

mybatis工作原理通俗易懂(MyBatis从入门到精通)

mybatis工作原理通俗易懂(MyBatis从入门到精通)

废话不多说,直接进入文章。我们在使用Mybatis的时候,会在xml中编写SQL语句。如图:那么,MyBatis底层是如...

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

mybatis框架快速入门(学习mybatis框架需要什么基础教程)

mybatis框架快速入门(学习mybatis框架需要什么基础教程)

MyBatis 框架概述MyBatis 框架:MyBatis 本是apache 的一个开源项目 iBatis, 2010...

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

27道经典mybatis面试题(最经典的35个面试问题)

27道经典mybatis面试题(最经典的35个面试问题)

什么是 Mybatis?MyBatis 的优点MyBatis 框架的缺点MyBatis 框架适用场合MyBatis 与 ...

2022-10-29 12:09:20查看全文 >>

mybatisplus优缺点(mybatis优缺点)

mybatisplus优缺点(mybatis优缺点)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mybatis简单示例(mybatis例子)

mybatis简单示例(mybatis例子)

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

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

文档排行