码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis基本介绍&快速入门

时间:2019-02-02 19:18:07      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:type   包名   文件名   jar   url   cal   持久   ring   Opens   

一、基本介绍
MyBatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和POJO(Plain Old Java Object,普通的Java对象)映射成数据库中的记录。

二、快速入门
2.1 准备开发环境
1.创建测试项目,普通Java项目或JavaWeb项目均可;
2.添加mybatis的jar包及MySQL驱动包;
<dependencies>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.2.8</version>
  </dependency>
    
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.8</version>
  </dependency>
</dependencies>
3.创建数据库和表;

至此,前期的开发环境准备工作全部完成。
2.2 使用MyBatis查询表中的数据
1.添加MyBatis的配置文件conf.xml;
<?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="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mysql" />
                <property name="username" value="root" />
                <property name="password" value="#######" />
            </dataSource>
        </environment>
    </environments>
    
</configuration>
2.在com.domain包中定义表所对应的实体类;
3.定义操作student表的SQL映射文件studentMapper.xml
创建一个com.mapping包,专门用于存放SQL映射文件,在包中创建一个studentMapper.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">
<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="com.mapping.studentMapper"就是com.mapping(包名)+studentMapper(studentMapper.xml文件去除后缀)
 -->
<mapper namespace="com.mapping.studentMapper">
    <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getStudent,id属性值必须是唯一的,不能够重复
    使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
    resultType="com.domain.User"就表示将查询结果封装成一个Student类的对象返回
           Student类就是student表所对应的实体类
    -->
    <!--
        根据id查询得到一个student对象
     -->
    <select id="getStudent" parameterType="int"
        resultType="com.domain.Student">
        select * from ksl_student where sid=#{sid}
    </select>
</mapper>
4.在conf.xml文件中注册studentMapper.xml文件
<mappers>
        <!-- 注册studentMapper.xml文件 -->
        <mapper resource="com/mapping/studentMapper.xml"/>
</mappers>
5.编写测试代码,执行定义的select语句
创建一个com.test.Test1类,编写如下测试代码:
public class Test1 {

    public static void main(String[] args) {

        // MyBatis配置文件
        String resource = "conf.xml";
        // 使用类加载器加载MyBatis配置文件(其中也加载关联的映射文件)
        InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);
        // 构建SqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        // 创建能够执行映射文件中SQL的SqlSession
        SqlSession session = sessionFactory.openSession();
        // 映射SQL的标识字符串
        String statement = "com.mapping.studentMapper.getStudent";
        // 执行查询返回一个唯一的结果
        Student student = session.selectOne(statement, 2);
        System.out.println(student);
    }

}

MyBatis基本介绍&快速入门

标签:type   包名   文件名   jar   url   cal   持久   ring   Opens   

原文地址:https://www.cnblogs.com/yuanfei1110111/p/10348881.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!