MyBatis系列:一、入门
MyBatis无需我介绍,本系列文章是纯干货,没有一点废话。
1.创建一个maven项目,引入mysql的驱动和mybatis的maven引用
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
2.编写mybatis配置文件放置于resources目录下,名字随意
<?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="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers> </mappers>
</configuration>
3.使用XML的方式创建SqlSessionFactory
//你的配置文件名称
String source = "mybatis-config.xml";
//加载配置文件
InputStream inputStream = Resources.getResourceAsStream(source);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
4.创建一个实体类完成一个基础的查询
创建JavaBean-Blog
public class Blog {
    private int id;
    private String name;
    private  String remark;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    @Override
    public String toString()
    {
        return  this.name+this.remark;
    }
}
创建Blog对应的Mapper接口BlogMapper,接口内定义一个查询方法
public interface BlogMapper {
   public Blog selectBlog(int id);
}
创建BlogMapper对应的XML映射文件BlogMapper
namespace要与接口名称一致
select节点的id要和接口中定义的方法名字一样
resultType设置要返回的实体类型
<?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="BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id=#{id}
</select>
</mapper>
然后我们需要在第一步设置的配置文件的mapper节点中加入我们新写的BlogMapper
<mappers>
<mapper resource="BlogMapper.xml"></mapper>
</mappers>
5.在数据库中创建一个和上面Blog一样的表并且设置id为自增,添加一条测试数据
在main方法中编写如下代码,会从数据库中读取出相应的数据并且输出到控制台
    public static void main(String[] str) throws IOException {
        String source = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(source);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);
        Blog blog = mapper.selectBlog(1);
        System.out.println( blog);
    }
本文介绍了Mybatis从创建工厂到从数据库读取出数据的基础流程,接下来将会详细的介绍各个节点的作用。
MyBatis系列:一、入门的更多相关文章
- Mybatis系列(一)入门
		
Mybatis系列(一)入门 mybatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结 ...
 - 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
		
上篇文章<深入浅出Mybatis系列(六)---objectFactory.plugins.mappers简介与配置>简单地给mybatis的配置画上了一个句号.那么从本篇文章开始,将会介 ...
 - 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)
		
上篇文章<深入浅出Mybatis系列(一)---Mybatis入门>, 写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们 ...
 - MyBatis(1)——快速入门
		
MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...
 - Mybatis 系列7
		
上篇系列6中 简单地给mybatis的配置画上了一个句号.那么从本篇文章开始,将会介绍mapper映射文件的配置. 这是mybatis的核心之一 一定要学好 在mapper文件中,以mapper作为根 ...
 - Mybatis 系列7-结合源码解析核心CRUD 配置及用法
		
[Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...
 - 深入迁出mybatis系列
		
本系列教程均源于南柯梦,经好库文摘转发,感谢南柯梦的辛苦整理. 深入迁出mybatis系列 深入浅出Mybatis系列(一)---Mybatis入门 深入浅出Mybatis系列(二)---配置简介(m ...
 - (转) MyBatis(1)——快速入门
		
MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...
 - 转:Mybatis系列之集合映射
		
转:Mybatis系列之集合映射 上篇文章我们讲了关联映射,实现了销售与登录用户之间的关联.本文我们接着来讲一讲集合映射,实现销售与客户的多对多关系. 实现销售与客户多对多关系 本文中仍延用<M ...
 - 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)[转]
		
上篇文章<深入浅出Mybatis系列(一)---Mybatis入门>, 写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们 ...
 
随机推荐
- C# 静态方法 静态属性 调用静态方法
			
C#的类中可以包含两种方法:静态方法和非静态方法. 使用了static 修饰符的方法为静态方法,反之则是非静态方法. 静态方法是一种 特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身.所以 ...
 - 关于JSON.parse(JSON.stringify(obj))实现深拷贝应该注意的坑
			
JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了 就是利用JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反 ...
 - nmbd - 向客户端提供构造在IP之上的NetBIOS名字服务的NetBIOS名字服务器
			
总览 SYNOPSIS nmbd [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V][-d <debug level>] [-H <lmhosts fil ...
 - Linux上进行常用软件的配置
			
当拿到一个新的linux服务器的时候一般要经过以下5个配置 修改HOSTANME vi /etc/sysconfig/network 修改HOSTNAME和IP的映射 ...
 - rest_framework框架的分页
			
class MyPageNumberPagination(PageNumberPagination): page_size = 1 page_query_param = 'page' page_siz ...
 - 用HTTP核心模块配置一个静态Web服务器
			
静态Web服务器的主要功能由ngx_http_core_module模块(HTTP框架的主要成员)实现与core模块类似,可以根据相关模块(如ngx_http_gzip_filter_module.n ...
 - GUI学习之二十五——QFontDialog学习总结
			
今天学习字体对话框——QFontDialog()控件. QFontDialog()是继承自QDialog()的一个子类,用来选择给定的字体(包括字体.字号.样式等) 一.构造函数 QFontDialo ...
 - python-抽象类和抽象方法
			
需要模块 import abc 抽象类不能实例化 import abc class Animal(metaclass=abc.ABCMeta): #抽象类 @abc.abstractmethod # ...
 - [CF1051F] Shortest Statement
			
问题描述 You are given a weighed undirected connected graph, consisting of n vertices and m edges. You s ...
 - es6的...用法
			
...将一个数组转为用符号分隔的参数序列 1.console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 2. var args = [0, 1, 2]; f.apply ...