MyBatis学习笔记

刺骨的言语ヽ痛彻心扉 2022-02-21 11:53 389阅读 0赞
mybatis主配置文件
  1. <settings>
  2. <!--默认使用LOG4J输出日志-->
  3. <setting name="logImpl" value="LOG4J"/>
  4. <!-- 自动将以下划线方式命名的数据库列映射到Java对象的驼峰是明明属性中 -->
  5. <setting name="mapUnderscoreToCameCase" value="true" />
  6. </settings>

说明:

  1. logImpl:配置LOG4J输出日志。
  2. mapUnderscoreToCameCase:自动将以下划线方式命名的数据库列映射到Java对象的驼峰是明明属性中。




说明:

  1. typeAliases配置别名。
    1.1 可以指定某个包下package
    1.2 亦可以指定某个实体类typeAlias



说明:

  1. environmentsdefault属性引用environmentid属性。
    1.1 id是当前使用的环境。
    1.2 可以配置多个environment以备使用,比如oraclesql servermysql

mybatis映射文件
  1. <mapper namespace="">
  2. </mapper>

说明:

  1. 命名级别:
    1.1 包级别:namespace属性中除最后一个类名。例如:com.chromer.mapper.CountryMappercom.chromer.mapper为包级别。在log4j.properties中log4j.logger后面添加这个包名。
    1.2 类级别:就是namespace属性值,就是类名。
    1.3 方法级别:使用namespace的属性值+标签的id属性值。

mybatis分页

?不允许在关键字前后进行数学运算。
需要在java代码中计算好再传到mapper.xml中。
比如:

  1. int pageSize = 2;// 页码大小。
  2. int pageNumber = 2;// 一页的记录数。
  3. Map<String, Object> map = new HashMap<>();
  4. map.put("pageSize", pageSize);
  5. map.put("pageStart", pageSize * (pageNumber) - 1); // pageStart:每一页的第一条记录数。

mapper.xml中:

  1. <select id="page" resultType="map" parameterType="peo">
  2. select * from people limit #{pageStart}, #{pageSize}
  3. </select>

查询select不叫事务,增insertdeleteupdate才叫事务。
所以查询不需要提交事务session.commit(),而增删改需要提交事务。

使用注解的形式加载接口中的方法时:

  1. InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  2. SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  3. sessionFactory.getConfiguration().addMapper(RoleMapper.class);
  4. SqlSession session = sessionFactory.openSession();
  5. RoleMapper roleMapper = session.getMapper(RoleMapper.class);

需要加上:

  1. sessionFactory.getConfiguration().addMapper(RoleMapper.class);

否则报错:

  1. org.apache.ibatis.binding.BindingException: Type interface com.ronybo.inter.RoleMapper is not known to the MapperRegistry.

发表评论

表情:
评论列表 (有 0 条评论,389人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mybatis学习笔记

    一、引言 1.框架的三层架构     表现层:是用于展示数据(SpringMVC)     业务层:是处理业务需求     持久层:是和数据库交互(MyBati

    相关 Mybatis学习笔记

    学习了Mybatis。相对于hibernate来说这个框架更加灵活,开发效率更快,适用于那些改动比较频繁的项目。 首先加入mybatis的配置文件myBatisConfig.