zoukankan      html  css  js  c++  java
  • mybatis学习笔记

    1.头文件

      <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

    DTD声明始终以!DOCTYPE开头

    configuration是文档根元素名称

      PUBLIC表示是公共DTD

      -表示是非ISO组织

      mybatis.org表示组织

      DTD 表示类型

      Config 表示标签

      3.0是标签后附带的版本号

      EN表示DTD语言是英语

    最后是DTD的URL

    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

    2.序列化

      public class StudentEntity implements Serializable {  

           private static final long serialVersionUID = 3096154202413606831L;  

     实现serializable(序列化接口)都会在下面加SUID,后面是自定义的值,如果不写,那么在该类序列化的时候(即通过流把类的属性信息保存在文件中)后,中途改动类后,反序列化的时候就会报错,不能回复到原来的类,因为反序列化的时候(没有指定情况下),它自动生成的SUID会变化

    3.mybatis的配置文件主要包括给类起别名(这个别名与mapper文件中的resultType对应),引入mapper文件,还可以配置数据源

    4.Hibernate,mybatis都是orm思想即都是通过配置文件得到sessionFactory,由sessionFactory得到session,通过session进行增删改查,session自己带有事务提交commit()方法

    5.<resultMap></resultMap>用于将数据库字段映射到POJO的字段

    6.用接口映射时,接口中方法名必须与mapper中的id一致

    7.mapper文件中的namespace对应映射接口路径

      通过  接口类 it=session.getMapper(接口类.class),再调用it方法,实现接口方式编程

    8.即使接口中的返回值为list,在mapper中resultType也可以写POJO,因为它是一行行从数据库取出来的

    9.如果mapper某个方法只有一个参数#{id},不管映射POJO有没有id属性,都会将传入的参数赋给id

    10.dataSource最常用的是spring的

       org.springframework.jdbc.datasource.DriverManagerDataSource

      也可以用其他的连接池类

    11.sqlSessionFactory可以是org.mybatis.spring.SqlSessionFactoryBean也可以是org.apache.ibatis.session.SqlSessionFactory

    11.实现接口和mybatis映射的是org.mybatis.spring.mapper.MapperFactoryBean,前提是吧sqlsessionFactory和interface赋给其属性,如果不用这个类就要通过session.getMapper方法去实现映射

    12.classpath指的是项目在服务器解析成war文件后webinfo/classes路径

    13.configuration中可以指定映射的mapper路径,也可以不指定,在sqlSessionFactory的mapperLocations属性指定

    14.org.mybatis.spring.mapper.MapperScannerConfigurer扫描接口基本包

    15.@RequestMapping来自spring-web包,ModelAndView来自org.springframework.web.servlet-3.1.1.RELEASE.jar

    HttpServletRequest 来自 servlet-api.jar

    16.spring+mybatis,常用情况是spring注入datasource,spring注入transactionManager,再把datasource值赋给transactionManager的datasource属性,spring注入sqlSessionFactory,再把datasource,mybatis的configuration文件,以及mapper文件包的路径赋给其相应属性,再注入mapper扫描类指定接口位置,mapper中的命名空间需要指定对应接口的路径以使机器识别每个mapper对应的接口,在MVC配置文件中应该扫描controller的包及配置视图解析

    17.< ?xml version="1.0" encoding="UTF-8"?>必须位于最左边和最上边

    18.类  extends SqlSessionDaoSupport  可以通过调用this.getSqlSession()可以得到SqlSessionTemplate从而执行sql,类似于hibernatetemplate

  • 相关阅读:
    iostream与iostream.h的区别
    [HAOI2011]向量
    [POI2011]Temperature
    [洛谷2839/国家集训队]middle
    [TJOI2013]松鼠聚会
    [HNOI2015]接水果
    [BZOJ3772]精神污染
    [BZOJ3251]树上三角形
    [ZJOI2011]道馆之战
    [SDOI2013]森林
  • 原文地址:https://www.cnblogs.com/qw870602/p/9279689.html
Copyright © 2011-2022 走看看