mybatis学习笔记(一)

mybatis学习笔记

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

    • 在src下新建全局配置文件
      • 没有名称和地址要求,例如mybatis.xml,引入DTD或者schema
        <?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 文件理解成实现类
          <?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>
          
        • 最后编写测试类
          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数据库。
    • <transactionManager type=/>属性可取值
      • JDBC,事务管理使用 JDBC 原生事务管理方式;
      •  MANAGED 把事务管理转交给其他容器(例如spring)。原生 JDBC 事务setAutoMapping(false);
    • <dataSource type="">属性可取值
      • POOLED 使用数据库连接池;
      • UNPOOLED 不实用数据库连接池,和直接使用 JDBC 一样;
      • JNDI:java 命名目录接口技术.

   

原文地址:https://www.cnblogs.com/bjm1/p/10241755.html