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系列:一、入门的更多相关文章

  1. Mybatis系列(一)入门

    Mybatis系列(一)入门 mybatis简介 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结 ...

  2. 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete

    上篇文章<深入浅出Mybatis系列(六)---objectFactory.plugins.mappers简介与配置>简单地给mybatis的配置画上了一个句号.那么从本篇文章开始,将会介 ...

  3. 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(一)---Mybatis入门>, 写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们 ...

  4. MyBatis(1)——快速入门

    MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...

  5. Mybatis 系列7

    上篇系列6中 简单地给mybatis的配置画上了一个句号.那么从本篇文章开始,将会介绍mapper映射文件的配置. 这是mybatis的核心之一 一定要学好 在mapper文件中,以mapper作为根 ...

  6. Mybatis 系列7-结合源码解析核心CRUD 配置及用法

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  7. 深入迁出mybatis系列

    本系列教程均源于南柯梦,经好库文摘转发,感谢南柯梦的辛苦整理. 深入迁出mybatis系列 深入浅出Mybatis系列(一)---Mybatis入门 深入浅出Mybatis系列(二)---配置简介(m ...

  8. (转) MyBatis(1)——快速入门

    MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...

  9. 转:Mybatis系列之集合映射

    转:Mybatis系列之集合映射 上篇文章我们讲了关联映射,实现了销售与登录用户之间的关联.本文我们接着来讲一讲集合映射,实现销售与客户的多对多关系. 实现销售与客户多对多关系 本文中仍延用<M ...

  10. 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)[转]

    上篇文章<深入浅出Mybatis系列(一)---Mybatis入门>, 写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们 ...

随机推荐

  1. 3-6如何在一个for语句中迭代多个可迭代对象

    1.并行迭代 迭代元组可以进行拆包迭代. >>> zip([1,2,3,4],('a','b','c','d')) [(1, 'a'), (2, 'b'), (3, 'c'), (4 ...

  2. MySQL参数化有效防止SQL注入

    sql语句的参数化,可以有效防止sql注入 注意:此处不同于python的字符串格式化,全部使用%s占位 from pymysql import * def main(): find_name = i ...

  3. pythonr-内置函数

    pythonr-内置函数 all print (all([1,-5,3])) print (all([0,-5,3])) 如果有0 就不为真,非0就是为真 打印结果 True Flase all pr ...

  4. python面向对象--元类

    一个类没有声明自己的元类,默认他的元类就是type,除了使用内置元类type,我们也可以通过继承type来自定义元类,然后使用metaclass关键字参数为一个类指定元类 class Foo: def ...

  5. .net core Consul

    创建API项目修改Program public class Program { public static void Main(string[] args) { CreateWebHostBuilde ...

  6. postman(三):详解postman动态变量使用

    参考: Variables Dynamic variables

  7. C++HeartCode

    #include <iostream> int main() { int A=43,B=A/2, C=B/2,x,y,i=B,j=-C;for(y=0;y<B;j=(++y)-(C+ ...

  8. Flutter SDK安装(windows)

    Flutter集成了Dart,因此不需要单独安装dart-sdk.Flutter的SDK可以从官网下载:https://flutter.io/sdk-archive/#windows 在Flutter ...

  9. mysql 连接1251错误

    问题: 解决方案: 使用管理员权限打开cmd执行以下命令: mysql -u root p use mysql alter user root@localhost identified with my ...

  10. MySQL--缓存的使用注意

    几个参数 query_cache_type:为ON时开启,为OFF关闭,为DEMAND时则只有查询语句中有sql cache时才使用缓存 query_cache_size: 缓存的内存空间 query ...