MyBatis 简单使用

   日期:2020-09-01     浏览:98    评论:0    
核心提示:原始 JDBC 存在资源浪费、硬编码等问题,MyBatis 的出现很好的解决了这一问题

1.1 简介

1.1.1 概述

  MyBatis 原本是 apache 的一个开源项目 iBatis,2010 年这个项目由 apache software foundation 迁移到了google code,并且改名为 MyBatis。2013 年 11 月迁移到 Github。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。



1.1.2 相关依赖

<!-- MySQL 驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>
<!-- MyBatis 依赖 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.4</version>
</dependency>





1.2 MyBatis 使用

1.2.1 实体类


public class Student {
    
    private Long id;
    private String name;
    private Integer age;
    private Boolean sex;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Boolean getSex() {
        return sex;
    }

    public void setSex(Boolean sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex=" + sex +
                '}';
    }
}

1.2.2 DAO 接口


public interface StudentDao {
    public List<Student> findAll();
}

1.2.3 映射文件(student-mapper.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">
<!-- 与 DAO 接口一一对应 -->
<mapper namespace="com.software.mybatis.dao.StudentDao">
	<!-- 与接口中的方法一一对应 -->
    <select id="findAll" resultType="com.software.mybatis.controller.Student" >
    	select * from Student
    </select>
</mapper>

1.2.4 核心配置(mybatis.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://localhost:3306/db"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="student-mapper.xml"/>
    </mappers>
</configuration>

1.2.5 测试类


public class MybatisTest {

    @Test
    public void TestA() throws Exception {
        // 加载核心配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
        
        // 获得 sqlSession 工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        // 获得 sqlSession 对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        
        // 执行 sql 语句 
        List<Student> list = sqlSession.selectList("com.software.mybatis.dao.StudentDao.findAll");
        
        // 打印结果
        System.out.println(list);
        // 释放资源
        sqlSession.close();
    }
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服