mybatis学习笔记(一)

mybatis学习笔记

  • mybatis简介
    • Mybatis 开源免费框架.原名叫iBatis,2010在googlecode,2013年迁移到 github
    • 作用: 数据访问层框架,底层对JDBC进行封装。
    • mybatis的优点:使用mybatis时不需要编写实现类,只需要写需要执行得sql命令。
  • 环境搭建
    • 导入jar包,

    • 在src下新建全局配置文件
      • 没有名称和地址要求,例如mybatis.xml,引入DTD或者schema
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        <?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="default">
                <environment id="default">
                    <transactionManager type="JDBC"></transactionManager>
                    <dataSource type="POOLED">
                        <property name="driver" value="com.mysql.jdbc.Driver"/>
                        <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
                        <property name="username" value="root"/>
                        <property name="password" value="123456"/>
                    </dataSource>
                </environment>       
            </environments>
            <mappers>
                <mapper resource="com/bjm/mapper/PeopleMapper.xml"/>
            </mappers>
        </configuration>
       
    • 然后新建以mapper结尾的包,在包下新建:实体类名(pojo)+Mapper.xml
        • 文件作用:编写需要执行的SQL命令。
        • 把 xml 文件理解成实现类
          1
          2
          3
          4
          5
          6
          7
          8
          9
          <?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.bjm.mapper">
              <select id="selAll" resultType="com.bjm.pojo.People">
                  select * from people
              </select>
            </mapper>

           

        • 最后编写测试类
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          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.bjm.pojo.People;
           
          public class Test {
              public static void main(String[] args) throws IOException{
                  InputStream resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
                  SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
                  //生产SqlSession
                  SqlSession session = factory.openSession();
                  List<People> selectList = session.selectList("com.bjm.mapper.selAll");
                   
                  for (People people : selectList) {
                      System.out.println(people.toString());
                  }
                  session.close();
              }
          }

           

  • 环境搭建详解
    • 全局配置文件中标签<environments default="default">default取值是根据子标签<environment id="default">id的取值,通过取值选择mybatis加载哪一种数据库来连接,上面的例子是选择MySQL数据库。
    • 1
      <transactionManager type=/>属性可取值
      • JDBC,事务管理使用 JDBC 原生事务管理方式;
      •  MANAGED 把事务管理转交给其他容器(例如spring)。原生 JDBC 事务setAutoMapping(false);
    • <dataSource type="">属性可取值
      • POOLED 使用数据库连接池;
      • UNPOOLED 不实用数据库连接池,和直接使用 JDBC 一样;
      • JNDI:java 命名目录接口技术.

 

 

 

 

   

posted @   家铭  阅读(161)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示