Mybatis
文章平均质量分 81
秦怀
这个作者很懒,什么都没留下…
展开
-
Mybatis从零开始学习系列
项目日志:Log4j与Log4j2日志记录详解(一)Mybatis入门之第一个程序Mybatis一定需要commit才能够成功修改数据么Mybatis关于创建SqlSession源码分析(二)Mybatis多个mapper文件以及namespace命名问题(三)Mybatis使用工具类读取配置文件以及从属性读取DB信息(四)关于Mybatis别名定义(五)Mybatis增删改查demo(六)Mybatis插入数据返回主键id(七)Mybatis如何知道增删改是否成功执行(八)Mybat.原创 2020-10-11 01:06:46 · 541 阅读 · 4 评论 -
(十七)Mybatis自关联查询一对多查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-13-oneself-one2many,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~所谓自关联查询,是指自己既然充当一方,又充当多方。比如...原创 2018-07-16 20:55:23 · 1823 阅读 · 0 评论 -
(十八)Mybatis自关联多对一查询方式
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-14-oneself-many2one,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~现在有个需求,给出当前的栏目的id,希望查出父辈栏目,...原创 2018-07-16 20:55:58 · 416 阅读 · 0 评论 -
(十九)Mybatis自关联多对多查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-14-oneself-many2one,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~所谓多对多查询,就是类似于们,一个学生可以选多门课程,...原创 2018-07-16 20:57:18 · 522 阅读 · 0 评论 -
(十三)Mybatis动态SQL标签使用
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-09-DynamicSQL,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~mybatis有一个强大的特性,其他框架在拼接sql的时候要特别谨...原创 2018-07-11 09:27:52 · 4372 阅读 · 0 评论 -
(十一)Mybatis Mapper动态代理
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-07-MapperDynamicProxy,需要自取,需要配置maven环境以及mysql环境,觉得有用可以点个小星星,小菜鸟在此Thanks~在之前的代码中我们的运行过程再梳理一下,首先我们执行Test,调用dao接口方法 接口的定义:调用...原创 2018-07-04 14:24:01 · 497 阅读 · 0 评论 -
(二十)Mybatis懒加载(延迟加载)
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-16-lazyload,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~mybatis的懒加载,也称为延迟加载,是指在进行关联查询的时候,按照...原创 2018-07-18 09:18:55 · 843 阅读 · 0 评论 -
(十四)Mybatis一对多关联查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-10-one2many,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~很多时候,当查询条件涉及到具有关联关系的多个表的时候,需要使用到关联查...原创 2018-07-12 20:21:41 · 582 阅读 · 0 评论 -
(十五)Mybatis一对一多表关联查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-11-one2one,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~所谓一对一多表查询,举个例子:我们有很多国家,每一个国家只有一个领导人(...原创 2018-07-12 20:22:28 · 839 阅读 · 0 评论 -
(十六)mybatis多对一关联查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-12-many2one,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~一对多关联查询:每个国家有很多大臣,领导人,现在我们查询一个领导,希望...原创 2018-07-12 20:23:10 · 575 阅读 · 0 评论 -
(二十一)Mybatis一级查询缓存
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-17-sqlsessionCache,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~查询缓存的使用,主要是为了提高查询访问速度,不用每次都从...原创 2018-07-21 23:49:29 · 546 阅读 · 0 评论 -
Mybatis创建SqlSession的源码分析
我们使用sqlSession之前,需要去获取配置文件,获取InputStream输入流,通过SqlSessionFactoryBuilder获取sqlSessionFactory对象,从而获取sqlSession。InputStream is = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory sqlSessi...原创 2018-07-03 16:44:50 · 660 阅读 · 0 评论 -
(十二)Mybatis多查询条件无法整体接受的解决方案
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-08-selectByMap,需要自取,需要配置maven环境以及mysql环境(sql语句在resource下的test.sql中),觉得有用可以点个小星星,小菜鸟在此Thanks~很多时候,我们需要传入多个参数给sql语句接收,但是如果这些参数...原创 2018-07-09 20:05:11 · 813 阅读 · 0 评论 -
(十)Mybatis属性名与查询字段名不相同
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning,项目是mybatis-06-resultMap,需要自取,需要配置maven环境以及mysql环境,觉得有用可以点个小星星,小菜鸟在此Thanks~很多时候我们有这样的需求,数据库的字段名与实体类的属性名不一致,这个时候我们需要怎么做呢?有两种解决方案,第一种:直接在查询...原创 2018-06-26 16:25:28 · 1460 阅读 · 0 评论 -
Mybatis关于创建SqlSession源码分析
1.为什么我们使用SQLSessionFactoryBuilder的时候不需要自己关闭流?我们看我们的代码:public class StudentDaoImpl implements IStudentDao { private SqlSession sqlSession; public void insertStu(Student student) { ...原创 2018-06-03 11:23:18 · 832 阅读 · 0 评论 -
(一)Mybatis入门之第一个程序
1.框架是什么 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复...原创 2018-05-27 16:20:12 · 1195 阅读 · 0 评论 -
(二)Mybatis多个mapper文件以及namespace命名问题
代码直接放在Github仓库,可直接运行,就不占篇幅了。上一篇入门文章:(一)Mybatis入门之第一个程序,里面还有一些细节没有提及,那就是多个mapper文件的时候怎么处理,namespace又是干什么用的呢 首先我们来看创建数据库语句:#创建数据库CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf...原创 2018-06-24 12:04:44 · 11337 阅读 · 2 评论 -
(三)Mybatis使用工具类读取配置文件以及从属性读取DB信息
代码以托管在【https://github.com/Damaer/Mybatis-Learning】下面的mybatis-03文件下,不再贴全部代码。1.使用工具类获取sqlSession实例对象在上一个demo中,处理了多个namespace的问题【https://blog.csdn.net/aphysia/article/details/80790338】,那么我们可以看到代码还是...原创 2018-06-24 13:15:12 · 1777 阅读 · 0 评论 -
(四)关于Mybatis别名定义
代码托管在github上【https://github.com/Damaer/Mybatis-Learning】的mybatis-04在前面的例子中(三)Mybatis使用工具类读取配置文件以及从属性读取DB信息,我们改进了两点:使用工具类获取sqlSession以及从属性中读取数据库信息,那么我们下面需要改进的是别名,也趁这个机会介绍一下别名的作用。其实在我们实际开发中,大多数情况下,一个m...原创 2018-06-24 19:16:33 · 2479 阅读 · 0 评论 -
(五)Mybatis增删改查demo
在上一个demo【(四)关于Mybatis别名定义】中,我们实现了基本的插入功能,并解释了mybatis一些基本的规范。在这里我们需要实现单表的增删改查功能。代码托管于GitHub上,https://github.com/Damaer/Mybatis-Learning 下面的mybatis-05-CRUD这个项目中,可以直接跑(前提是Maven环境以及sql环境配好)首先,项目的目录如下:首先...原创 2018-06-25 00:01:38 · 790 阅读 · 1 评论 -
(六)Mybatis插入数据返回主键id
整个demo放在Github上,地址:【https://github.com/Damaer/Mybatis-Learning】,项目是mybatis-05-CRUD,下载下来只需要maven环境以及mysql环境就可以跑起来,所以不贴全部代码。我们知道很多时候我们有一个需求,我们需要把插入数据后的id返回来,以便我们下一次操作。其实一开始的思路是我插入之后,再执行一次select,根...原创 2018-06-25 16:13:21 · 11558 阅读 · 4 评论 -
(七)Mybatis如何知道增删改是否成功执行
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning,项目是mybatis-05-CURD,需要自取,需要配置maven环境以及mysql环境,觉得有用可以点个小星星,Thanks~使用mybatis的时候,经常发现一个需求,我怎么知道自己是不是增加/修改/删除数据成功了?好像执行sql之后都没有结果的。其实不是的,增删改的...原创 2018-06-25 17:30:09 · 26250 阅读 · 4 评论 -
(八)Mybatis返回List或者Map以及模糊查询
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning,项目是mybatis-05-CURD,需要自取,需要配置maven环境以及mysql环境,觉得有用可以点个小星星,Thanks~首先获取sqlSession实例的工具类如下:import org.apache.ibatis.io.Resources;import...原创 2018-06-25 20:04:24 · 1738 阅读 · 0 评论 -
(九)Mybatis的#{}占位符和${}拼接符的区别
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning,项目是mybatis-05-CURD,需要自取,需要配置maven环境以及mysql环境,觉得有用可以点个小星星,小菜鸟在此Thanks~1.#{}占位符1.#{}占位符可以用来设置参数,如果传进来的是基本类型,也就是(string,long,double,in...原创 2018-06-26 14:19:40 · 5260 阅读 · 3 评论 -
Mybatis一定要使用commit才能成功修改数据库么?
1.为什么我们有时候不使用commit也能修改数据库成功?具体完整代码请看(一)Mybatis入门之第一个程序1.从数据库的层面上来讲,其实这个主要看你用什么“存储引擎”像以下的代码就是使用了自动提交的mysql引擎。CREATE TABLE `student` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(20) ...原创 2018-06-02 17:53:28 · 12406 阅读 · 2 评论