MyBatis学习笔记

mybatis主配置文件
<settings>
	<!--默认使用LOG4J输出日志-->
	<setting name="logImpl" value="LOG4J"/>
	<!-- 自动将以下划线方式命名的数据库列映射到Java对象的驼峰是明明属性中 -->
	<setting name="mapUnderscoreToCameCase" value="true" />
</settings>

说明:

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

说明:

  1. typeAliases配置别名。
    1.1 可以指定某个包下package
    1.2 亦可以指定某个实体类typeAlias
<environments default="">
	<environment id=""></environment>
</environments>

说明:

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

mybatis映射文件
<mapper namespace="">
</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中。
比如:

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

mapper.xml中:

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

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

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

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

需要加上:

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

否则报错:

org.apache.ibatis.binding.BindingException: Type interface com.ronybo.inter.RoleMapper is not known to the MapperRegistry.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值