mybatis入门基础

通过jdbc连接数据库,需要手写sql,操作Connection, Statement, ResultSet 

mybatis只需要手写sql,其他工作交给框架去做,技术细节已经被封装在框架

第一步,创建数据库test


CREATE TABLE test(
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(32) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

插入测试数据

INSERT INTO test VALUES (1,'test1');

INSERT INTO test VALUES (2,'test2');

下面就是创建一个java project

导入需要的jar包

mybatis入门基础

创建实体类 test 并生成get/set方法 ,用于映射表

配置mybatis配置文件 mybatis-config.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>

    <typeAliases>

      <package name="com.yzh.pojo"/>

    </typeAliases>

    <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/yzh?characterEncoding=UTF-8"/>

                <property name="username" value="root"/>

                <property name="password" value="root"/>

            </dataSource>

        </environment>

    </environments>

    <mappers>

        <mapper resource="com/yzh/pojo/Test.xml"/>

    </mappers>

</configuration>

<typeAliases>     自动扫描配置包下面的类型

<mappers>          映射实体类xml文件

新建文件Test.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="com.yzh.pojo">

        <select id="listTest" resultType="Test">

            select * from   test

        </select>

    </mapper>

 

写一个测试类

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

 

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

 

import com.yzh.pojo.Test;

 

public class TestMybatis {

 

    public static void main(String[] args) throws IOException {

        String resource = "mybatis-config.xml";

        InputStream inputStream = Resources.getResourceAsStream(resource);

        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        SqlSession session=sqlSessionFactory.openSession();

         

        List<Test> cs=session.selectList("listTest");

        for (Test c : cs) {

            System.out.println(c.getName());

        }

         

    }

}

运行测试类

mybatis入门基础

获取了数据库对应表的两条对应数据

mybatis入门基础

原理

应用程序找Mybatis要数据
      mybatis从数据库中找来数据
      通过mybatis-config.xml 定位哪个数据库
      通过Test.xml执行对应的select语句
      基于Test.xml把返回的数据库记录封装在Test对象中
      把多个Test对象装在一个Test集合中
      返回Test实体集合

 

java学习    http://h5ip.cn/study