一个小例子来看下MyBatis的运行过程:
1、添加mybatis依赖包
在github上有下载:https://github.com/mybatis/mybatis-3/releases
2、mybatis 配置文件
最核心的配置,有这些,就足够运转了。
<?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> <!-- 尽管可以配置多个环境,每个 SqlSessionFactory 实例只能选择其一 每个数据库对应一个 SqlSessionFactory 实例 --> <environments default="development"> <environment id="development"> <!-- 如果你正在使用 Spring + MyBatis,则没有必要配置事务管理器, 因为 Spring 模块会使用自带的管理器来覆盖前面的配置。 --> <transactionManager type="JDBC"></transactionManager> <!-- UNPOOLED:无连接池 POOLED:有连接池 JNDI:集中或者在外部配置数据源 --> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="conf/sql/userMapper.xml" /> <mapper resource="conf/sql/classMapper.xml"/> <mapper resource="conf/sql/userDMapper.xml"/> <mapper resource="conf/sql/userPMapper.xml"/> </mappers> </configuration>
3、sql数据映射文件
一个简单的SQL映射XML文件,只有最普通的增删改查操作。
<?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"> <!-- 1、完全限定名(比如“com.mypackage.MyMapper.selectAllThings”)将被直接查找并且找到即用。 2、短名称(比如“selectAllThings”)如果全局唯一也可以作为一个单独的引用。 如果不唯一,有两个或两个以上的相同名称(比如“com.foo.selectAllThings ”和“com.bar.selectAllThings”), 那么使用时就会收到错误报告说短名称是不唯一的,这种情况下就必须使用完全限定名。 --> <mapper namespace="org.mybatis.UserMapper"> <select id="selectUser" resultType="User"> select * from user </select> <select id="selectUserById" resultType="User" parameterType="int"> select * from user where id = #{id} </select> <!-- useGeneratedKeys="true" keyProperty="id" 在mysql环境下,可以返回主键 --> <insert id="saveUser" useGeneratedKeys="true" keyProperty="id" parameterType="User"> insert into user(name,sex,age) values(#{name},#{sex},#{age}) </insert> <update id="updateUser" parameterType="User"> update user set name = #{name}, sex = #{sex},age = #{age} where id = #{id} </update> <delete id="deleteUser" parameterType="int"> delete from user where user.id = #{id} </delete> </mapper>
4、获取sqlSessionFactory,以及SqlSession.
获取SqlSessionFactory有两种方式,这里我们先来看第一种,以XML配置文件来创建sqlSessionFactory
/** * 使用XML配置文件获取sqlsession * @return */ public static SqlSession createSqlSessionByXML(){ //获取config.xml文件 String resource = "conf/config.xml"; InputStream input = null; try { input = Resources.getResourceAsStream(resource); //获得sqlsession SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input); session = factory.openSession(); return session; } catch (IOException e) { e.printStackTrace(); return null; } }
5、执行映射SQL
在这里,使用junit4来测试执行方法,如下:
@Test public void queryUsersByXML(){ //使用xml配置执行 try{ session = SessionUtil.createSqlSessionByXML(); //使用mapper.xml文件执行 User user = session.selectOne("org.mybatis.UserMapper.selectUserById",1); }finally{ session.close(); } }
相关推荐
mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中...《MyBatis-Plus入门文档》主要介绍了MyBatis-Plus入门使用,以及关于mybatis-plus的更多介绍及特性,感兴趣的可以下载学习一下
持久层开源工具MyBatis-Plus快速入门,Spring Boot整合MyBatis-Plus简化开发示例代码
mybatis-plus快速入门测试项目
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
mybatis-第1天讲义.md
自己无聊时做的一套springboot整合swagger和mybatis-plus的案例,刚入门的小伙伴可以看一下,大家一起探讨探讨
mybatis-plus入门-helloworld案例
本课程全面讲解了Mybatis-Plus框架的使用,从快速入门到原理分析再到插件的应用。每一个知识点都有案例进行演示学习,最终通过学习你将全面掌握MP的使用,从而使Mybatis的的开发更加的高效,达到事半功倍的效果。 ...
mybatis-plugs 多数据源入门案例 带有swagger 和 pom 最小案例
新手入门专用,赶紧来看看 (这里用的是springboot2.2.1.RELEASE,高版本可能容易出错)
搭建环境IDEA下的springboot+mybatis-plus+mysql+swagger2后台+rest风格 迅速入门 简单例子
1.1、开启AR之旅 1.2、根据主键查询 1.3、新增数据 1.5、更新操作 1.6、删除操作 1.7、根据条件查询
Mybatis-2021最新.pdf
什么是 MyBatis?\ 5 入门\ 5 从 XML 中构建 SqlSessionFactory \ 5 不使用 XML 构建 SqlSessionFactory\ 6 从 SqlSessionFactory 中获取 SqlSession\ 6 探究已映射的 SQL语句 \ 7 命名空间的一点注释 \ 8 ...
MyBatis-3-教程的ppt,讲解很详细,方便大家快速入门MyBatis框架
Mybatis入门
对应文章链接:https://blog.csdn.net/liuting52001/article/details/111178290
快速入门、日志、雪花算法、主键自增、自动填充、乐观锁、逻辑删除、条件构造器、通用枚举、常规CRUD操作等
适合Mybatis-Plus的初学者
快速入门 1. 引入Maven依赖 <!-- mybatis-ext核心模块 --> <groupId>tech.wetech.mybatis <artifactId>mybatis-ext-core <!-- Use the latest released version: https://repo1.maven.org/ma