mybatis随笔记录
2017-10-18 11:43
204 查看
1.mybatis可以映射任何类型。自定义一个TypeHandler类实现TypeHandler接口的setParameter 和getResult方法就Ok,自定义的TypeHandler需要在MapperConfig.xml配置文件中进行配置
2.mybatis的接口编程。接口编程是为了使编程不那么容易错误而设计的一种设计模式。用户在编写一个项目时,会有多个模块,模块对应的写sql的xml文件命名空间写一样的也是有可能的。mybatis定义任意一接口对应某xml的命名空间,接口的方法与sql进行绑定,xml中的sql被封装了一个MappedStatement对象中,对象的key值就是命名空间接口类的名称+方法名,值就是MappedStatement对象,这样key值就不能重复,如果取同样的名字,MappedStatement对象将会被覆盖。
3.executor执行器类型
simpleExecutor:一条一条执行sql
batchExecutor:批量执行sql语句
reuseExecutor:statement重复被使用,相同的sql使用同一个statement
4.分页插件
mybatis的分页其实就是在Statement预编译sql的时候进行拦截,修改下sql语句来实现的。不同的数据库就有不同的分页sql,比如mysql 用limit
Oracle :
2.mybatis的接口编程。接口编程是为了使编程不那么容易错误而设计的一种设计模式。用户在编写一个项目时,会有多个模块,模块对应的写sql的xml文件命名空间写一样的也是有可能的。mybatis定义任意一接口对应某xml的命名空间,接口的方法与sql进行绑定,xml中的sql被封装了一个MappedStatement对象中,对象的key值就是命名空间接口类的名称+方法名,值就是MappedStatement对象,这样key值就不能重复,如果取同样的名字,MappedStatement对象将会被覆盖。
3.executor执行器类型
simpleExecutor:一条一条执行sql
batchExecutor:批量执行sql语句
reuseExecutor:statement重复被使用,相同的sql使用同一个statement
4.分页插件
mybatis的分页其实就是在Statement预编译sql的时候进行拦截,修改下sql语句来实现的。不同的数据库就有不同的分页sql,比如mysql 用limit
select *from A limit (当前页数-1)*每页条数,每页条数
Oracle :
select *from(select b.*, b.rownum row_num from B b where b.rownum<=当前页数*每页条数 ) row_num>(当前页数-1)*每页条数
相关文章推荐
- mybatis 学习记录(2)—— 分页查询
- Mybatis利用useGeneratedKeys返回最新插入记录的id Parameter 'id' not found. Available
- cocos2dx之小知识(随笔记录)
- 博主写的Route收费代码,随笔记录下.
- 今天学了下REST相关概念,写个随笔作为记录
- java.包裹类.随笔记录
- 生活随笔:生活感想记录
- 开发:随笔记录之 生成6位随机数
- SSM框架超级详细整合记录:Spring+Spring MVC+MyBatis+Maven+MySQL
- mybatis插入数据库时的问题记录
- Intellij14创建Spring-Mybatis项目创(填)建(坑)记录,解决IDEA下找不到xml文件的问题
- 随笔记录一些重要的网站
- Debug记录 - taotao项目 - 启动tomcat无限等待报错 - mybatis代码自动生成的陷阱!! - 4小时
- [随笔记录]自动通知客户邮件地址已经变更 Postfix配置
- MyBatis使用记录
- MyBatis源码解析之日志记录
- MyBatis删除单条记录
- spring与mybatis整合的事务问题记录
- mybatis插入记录后返回主键
- 学习MVC的一些随笔简单记录