mybatis使用心得

来源:互联网 发布:java 守护进程 编辑:程序博客网 时间:2024/06/06 05:12

源码学习的博文

http://www.cnblogs.com/dongying/p/4031382.html

http://blog.csdn.net/isea533/article/category/2092001

工具或插件

IDEA安装Mybatis插件"Free MyBatis plugin",mac上按住Command+option键单击mapper函数可以直接跳转到xml方法中

PageHelper分页插件,(不推荐mybatis-paginator,这个插件早已经不再更新,并且不支持foreach)

通用mapper:插件会根据实体类中的字段自动拼接生成sql语句

Mybatis Generator:自动生成实体类和mapper中的通用方法

Mybatis可执行语句拼接工具 原理简单能够满足基本的需求

Mybatis拦截器打印可执行语句 见博文中最后面我使用的拦截类


1.模糊查询,mysql数据库支持三种写法

1)like '%${search}%'

2)  like concat('%',trim(#{search}),'%')

3)  like "%"#{search}"%"     mysql支持这样的条件写法比如select * from user where name like "%"'刘'"%"是可以查出所有姓刘的用户的

2.单元测试

在测试类的类定义上面加上注解

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={DataConfig.class,MybaitsConfig.class, ServiceImpl.class})

MybatisConfig.java代码为

@Configuration@MapperScan(basePackages={"com.companyName.dao.mapper"})public class MybaitsConfig {}

因为我都是用的java配置,所以使用classes,需要把自己使用了注解的类全部包含,否则会出现注入失败

如果数据库和mybatis配置是用的spring-db.xml中配置,@ContextConfiguration(locations={"classpath:spring-db.xml"}),locations和classes不能同时使用

当然也可以参照网上创建SqlSessionTemplate和SqlSessionFactory来测试mapper方法

0 0