JAVA入门[6]-Mybatis简单示例
发布日期:2021-05-19 02:38:29 浏览次数:19 分类:博客文章

本文共 3672 字,大约阅读时间需要 12 分钟。

初次使用Mybatis,先手写一个hello world级别的例子,即根据id查询商品分类详情。

一、建表

create table Category (Id INT not null,Name varchar(80) null,constraint pk_category primary key (Id));

插入测试数据

INSERT INTO category VALUES (1,'Fish');INSERT INTO category VALUES (2,'Dogs');INSERT INTO category VALUES (3,'Birds');

二、新建测试项目

新建Maven项目,最终的项目结构如下:

修改pom.xml,引入mybatis相关依赖。

org.mybatis
mybatis
3.4.1
org.mybatis.generator
mybatis-generator-core
1.3.2
junit
junit
4.12
test
mysql
mysql-connector-java
5.1.21
runtime

 

三、建立pojo

建立Category对应的实体,这里为了方便测试重写了toString()方法。

public class Category implements Serializable {    private int id;    private String name;    private static final long serialVersionUID = 1L;    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 == null ? null : name.trim();    }    @Override    public String toString() {        StringBuilder sb = new StringBuilder();        sb.append(getClass().getSimpleName());        sb.append(" [");        sb.append("Hash = ").append(hashCode());        sb.append(", id=").append(id);        sb.append(", name=").append(name);        sb.append("]");        return sb.toString();    }}

四、定义数据访问接口

在src/main/cathy.mybatis/mapper包,新增CategoryMapper接口,这里只定义GetById方法。

public interface CategoryMapper {    public Category GetById(int id);}

五、配置mybatis xml文件

1.mybatis的配置都基于XML文件,我们放在resources/config/mybatis-config.xml

  • typeAliases: 类型别名是为 Java 类型设置一个短的名字,用来减少类完全限定名的冗余。
  • dataSource:使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。
  • mappers:用来定义SQL映射语句

六、SqlSession工具类

构建SqlSession有多种方式,这里我们先从mybatis-config.xml配置文件构建SqlSessionFactory,然后从SqlSessionFactory获取SqlSession。

public static SqlSession getSqlSession() {        SqlSession session = null;        try {            InputStream stream = Resources.getResourceAsStream(CONFIG_PATH);            SqlSessionFactory factory = new SqlSessionFactoryBuilder()                    .build(stream);            session = factory.openSession();        } catch (Exception e) {            e.printStackTrace();        }        return session;    }

 

七、调用:

public static void main(String[] args) {        SqlSession sqlSession=MybatisUtils.getSqlSession();        try{            CategoryMapper categoryMapper=sqlSession.getMapper(CategoryMapper.class);            Category category=categoryMapper.GetById(1);            if(category==null){                System.out.println("该分类不存在");            }            else{                System.out.println(category.toString());            }        }catch (Exception e){            System.out.println(e.getMessage());        }        finally {            MybatisUtils.closeSession(sqlSession);        }    }

 

运行结果:Category [Hash = 731395981, id=1, name=Fish]

 

源码地址:https://pan.baidu.com/s/1kUKXnMn

上一篇:JAVA入门[7]-Mybatis generator(MBG)自动生成mybatis代码
下一篇:JAVA入门[5]-初步搭建SpringMVC站点

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年05月02日 14时38分15秒