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 命名目录接口技术.

  

最新文章

  1. oracle 存储过程 包 【转】
  2. ssh scp 复制文件和文件夹
  3. C# 匿名方法
  4. C#:IText构造PDF文件
  5. C# Java间进行RSA加密解密交互
  6. C++ BackColor_Dialog
  7. HAProxy 的负载均衡服务器,Redis 的缓存服务器
  8. Java反射_JDBC操作数据
  9. C和Lua之间的相互调用
  10. 译-HTTP-GET HTTP-POST SOAP protocol for ASP.NET services的异同
  11. 用GA算法设计22个地点之间最短旅程-R语言实现
  12. 关于mvc中传递匿名对象,view中无法解析
  13. 逆元知识普及(进阶篇) ——from Judge
  14. Kettle解决方案: 第五章 ETL相关知识
  15. ---mipi command
  16. 迅为开发板4412开发板-ANROID系统的烧写方法分享
  17. List&lt;String&gt; 和 ArrayList&lt;String&gt;的区别(转载)
  18. 浅谈Java代理二:Cglib动态代理-MethodInterceptor
  19. 通读Cheerio文档
  20. bzoj1639 / P2884 [USACO07MAR]每月的费用Monthly Expense

热门文章

  1. JAVA 从一个List里删除包含另一个List的数据
  2. kafka入门(三)备份
  3. restapi(0)- 平台数据维护,写在前面
  4. 网络下载器 迅雷大众版 v7.9.42.5050 精简绿色版
  5. 提高JavaScript 技能的12个概念
  6. Spring Boot微服务电商项目开发实战 --- 多环境部署配置、端口号统一配置及Dubbo提供者消费者实现
  7. 基于tcp协议的登录,文件上传和下载
  8. sql nvarchar类型和varchar类型存储中文字符长度
  9. 安科 OJ 1190 连接电脑 (并查集)
  10. Java之JDBC 通过加载properties配置文件连接数据库