
MyBatis
Leo Han
Leo Han
展开
-
Mybatis整合springboot原理分析,MybatisAutoConfiguration,AutoConfiguredMapperScannerRegistrar
本章需要参考之前的两篇博客:Mybatis整合spring原理分析,SqlSessionFactoryBean,MapperScan,MapperScannerRegistrar,MapperScannerConfigurerspringboot自动装配原理,底层源码分析,条件注解实现机制从之前springboot自动装配原理,在资源目录下应该存在META-INF/spring.factories文件,查看mybatis-spring-boot-autoconfigure模块,其下该文件内容如下:原创 2020-07-11 21:51:41 · 3146 阅读 · 1 评论 -
Mybatis整合spring原理分析,SqlSessionFactoryBean,MapperScan,MapperScannerRegistrar,MapperScannerConfigurer
一般我们在spring整合mybatis可以进行如下处理:@Configurationpublic class SqlSessionConf { @Bean public SqlSessionFactoryBean getSqlSessionFactoryBean(){ SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryB原创 2020-07-10 12:51:18 · 1531 阅读 · 3 评论 -
Mybatis入门,Mybatis运行原理剖析,Mybatis源码研究,StatementHandler,TypeHandler,SimpleExecutor,ResultHandler
一般我们使用Mybatis按照如下流程处理:public class Bootstrap { private static SqlSessionFactory sqlSessionFactory; static { String config = "mybatis-config.xml"; try (InputStream inputStream = Resources.getResourceAsStream(config)) { s原创 2020-07-07 20:54:49 · 305 阅读 · 0 评论 -
5. Mybatis入门,ResultMap级联,association,collection,discriminator,resultMap继承,lazyLoadingEnabled
Mybatis级联分为三种:association,collection,discriminatorassociation:代表一对一关系collection:代表一对多关系discriminator:鉴别器,根据实际选择采用哪个类作为实例原创 2020-07-03 20:29:38 · 310 阅读 · 0 评论 -
4. Mybatis入门,参数中#和$的区别
在xml的语句中,${id}相当于是直接替换,例如:ORDER BY ${columnName},则会直接按值替换掉,不会生成PreparedStatement,是直接在SQL层面替换。但是如果使用#{id}会促使MyBatis 生成PreparedStatement并且安全地设置PreparedStatement 参数(=?)值。...原创 2020-07-02 22:57:55 · 245 阅读 · 0 评论 -
3. Mybatis入门,动态sql,if条件,choose,trim,foreach循环,bind
if:条件判断语句,单条件choose(when,otherwise) 相当于case whentrim(set,where):辅助语句,主要用来处理一些sql拼装foreach:循环语句<select id=”findActiveBlogWithTitleLike”parameterType=”Blog” resultType=”Blog”>SELECT * FROM BLOG WHERE state = ‘ACTIVE’<if test=”title != null”>原创 2020-07-02 22:30:10 · 264 阅读 · 0 评论 -
2. Mybatis入门,Mybatis元素,select,insert,update,delete相关属性
Mybatis相关配置元数说明settings元素属性名称作用备注cacheEnabled所有映射器中配置的缓存全局开关默认值为truelazyLoadingEnabled延迟加载全局开关multipleResultSetsEnabled是否允许单一语句返回多结果集(需驱动支持)默认值为trueuseColumnLable使用列标签代替列名,默认值为trueuseGeneratedKeys允许jdbc支持自动生成主键,autoMap原创 2020-07-02 21:58:05 · 2782 阅读 · 0 评论 -
1. Mybatis入门,基于xml配置和完全基于代码的使用
在程序处理过程中我们一般都需要和数据库进行交互,从数据库获取结果之后需要将相应的结果转换为程序对应实体对象,基于JDBC底层的需要我们进行手动的设置,比较繁琐,为此诞生了例如:hibernate。Mybatis等orm框架(Object Relational Mapping,对象关系映射模型)。一般我们在程序中如果需要使用mybatis一般需要进行如下配置:首先是pom配置: <dependency> <groupId>org.mybatis<原创 2020-07-02 17:03:16 · 169 阅读 · 0 评论