
Mybatis
文章平均质量分 83
chansonpro
There is no ending to learning.
展开
-
【Mybatis从0到1-002】使用 jdbc 开发的前期准备
本次开发的数据库为MySQL5.7.14。【1】首先创建一个数据库,name为mybatis,之后创建数据表。执行代码文件为mybatis.sql,下载地址为:表结构如下所示:【2】通过idea创建基于maven管理的java工程,工程名字为mybatis_Demo。创建成功后,结构如下所示:【3】配置pom.xml文件,加入以下代码:原创 2017-08-17 16:52:00 · 390 阅读 · 0 评论 -
【Mybatis从0到1-013】延迟加载
什么是延迟加载resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、需要时再从关联表原创 2017-08-22 15:43:51 · 278 阅读 · 0 评论 -
【Mybatis从0到1-014】查询缓存
mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。mybaits提供一级缓存,和二级缓存。原创 2017-08-22 15:45:37 · 276 阅读 · 0 评论 -
【Mybatis升级版-01】mybatis与Spring整合dao
之前的章节,主要介绍了mybatis框架的执行过程、开方dao的方法、sqlMapConfig.xml文件配置、输入/输出映射、高级映射、动态SQL及逆向工程等,其中有一些知识,还没补全,后期会慢慢更新。 在【015】中也提及mybatis和Spring整合开发dao的过程,那只是一个简单的入门,本章的dao开发将更加全面的剖析整个运作流程。 mybatis升级版--mybat原创 2017-08-24 21:57:22 · 486 阅读 · 0 评论 -
【Mybatis升级版-02】mybatis与Spring整合service及controller
在【01】章中介绍了mybatis与Spring整合之后的开发流程,Spring与mybatis整合,本质上是Spring将各层进行整合,(Spring管理持久层的mapper、Spring管理业务层service、Spring管理表现层的handler)。本章将介绍Spring与service及controller进行整合的操作流程思路简单如下:1.使用配置方式(后期会使用注解方式,显示配置原创 2017-08-25 20:59:31 · 630 阅读 · 1 评论 -
【Mybatis从0到1-015】Spring与MyBatis整合原始开发DAO(不推荐使用)
mybatis与Spring整合之后,开发dao的原始方法,不推荐使用,这里仅与之前mybatis独自开发时做简单的对比。【005-mybatis独自使用开发dao】整合思路需要spring通过单例方式管理SqlSessionFactory。(人工)spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybati原创 2017-08-22 20:26:48 · 367 阅读 · 0 评论 -
【Mybatis从0到1-016】Spring与MyBatis整合mapper开发DAO(推荐使用)
在之前的文章中已经提及开发dao的方式,当初是单纯的mybatis开发,分为原始开发方式和基于mapper代理的方式,与Spring整合之后的开发同样是这两种方式,原始的开发方式需要程序员书写dao接口和实现类,而且会存在很多问题,比如【005】提到的。本章主要介绍使用mapper代理进行dao的开发。【1】早在mapper文件下新建UserMapper.java接口文件。关键代码:原创 2017-08-24 14:11:42 · 399 阅读 · 0 评论 -
【Mybatis从0到1-017】逆向工程
待补充原创 2017-08-24 14:15:50 · 364 阅读 · 0 评论 -
【Mybatis升级版-04】包装类型pojo参数绑定
需求:商品查询controller方法中实现商品查询条件传入。实现方法:[1]在形参中,添加httpServletRequest request参数,通过request接收查询条件参数。【不推荐】[2]在形参中让包装类型的pojo接收查询条件参数。分析:页面传参数的特点:复杂、多样性。条件包括:用户账号,商品编号,订单信息……如果将用户账号、商品编号、订单信息等放在原创 2017-09-13 20:13:36 · 708 阅读 · 0 评论 -
【Mybatis从0到1-012】多对多查询(resultMap)
Demo:查询用户及用户购买商品信息。sql语句查询主表是:用户表关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表是orders、orderdetail和items。SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id ord原创 2017-08-22 11:26:37 · 357 阅读 · 0 评论 -
【Mybatis从0到1-011】一对多查询(resultMap)
Demo需求:查询订单关联查询用户及订单明细。SQL语句:确定主查询表:订单表确定关联查询表:订单明细表在一对一查询基础上添加订单明细表关联即可。SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail原创 2017-08-21 21:39:39 · 366 阅读 · 0 评论 -
【Mybatis从0到1-010】一对一查询(resultType和resultMap)
参考代码【下载】本章主要实现一对一查询订单信息,关联查询创建订单的用户信息。【1】resultType1.1 SQL语句确定查询的主表:订单表(orders)确定查询的关联表:用户表(user)关联查询使用内链接?还是外链接?由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询出一条记录,可以使用内链接(此处使用隐式内连接)。SELECT原创 2017-08-21 18:59:23 · 488 阅读 · 0 评论 -
【Mybatis从0到1-003】mybatis框架及简单入门程序
mybatis是持久层的框架,是Apache下的顶级项目。2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)原创 2017-08-17 19:19:40 · 565 阅读 · 0 评论 -
【Mybatis从0到1-004】模糊查询、更新、删除、添加用户
【Mybatis从0到1-003】mybatis框架及简单入门程序是解决本章内容的关键,本章节主要是实现模糊查询、更新、删除、添加用户。实现步骤与之前一章完全一样,这里再傻瓜式的走一遍流程,加深记忆与理解。只需要两步,第一,修改映射文件User.xml;第二,书写程序逻辑代码。【1】首先,实现模糊查询用户信息。【1-1】修改映射文件,加入如下代码:<!-- 根据用户名称模糊查询用户原创 2017-08-17 20:12:44 · 578 阅读 · 0 评论 -
【Mybatis从0到1-005】mybatis开发DAO之原始开发方法
在【004】中,细心的同学可能会发现,在增删改查几个函数中,存在大量的重复的代码,如下这段代码。 // mybatis配置文件 String resource = "SqlMapConfig.xml"; // 得到配置文件流 InputStream inputStream = Resources.getResourceAsStream(resourc原创 2017-08-17 21:39:28 · 435 阅读 · 0 评论 -
【Mybatis从0到1-006】mybatis开发DAO之基于mapper代理
在上一章中,介绍了mybatis开发dao的原始方法,并总结了,原始开发方式的问题,本章,将介绍基于mapper代理的方式开发dao。 与传统开发方式相比,mapper代理开发,程序员需要书写mapper接口(相当于dao接口),除此外,程序员还需要编写mapper.xml映射文件,编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。开原创 2017-08-19 11:15:58 · 433 阅读 · 0 评论 -
【Mybatis从0到1-007】深入MyBatis的配置文件
根据前面学过的内容,可知,mybatis的持久化离不开sqlsessionfactory对象,这个对象是整个数据库映射关系经过编译后的内存镜像,该对象的openSession()方法可以打开SqlSession对象。该对象由SqlSessionFactoryBuilder加载mybatis的配置文件产生。再来回顾下之前的代码:// mybatis配置文件String resource =原创 2017-08-19 14:14:45 · 488 阅读 · 0 评论 -
【Mybatis从0到1-008】MyBatis之映射文件(输入映射、输出映射)
在上一章中,介绍了mybatis的配置文件,在本章中,我们将介绍mybatis的映射文件,MyBatis之所以强大,真正原因在于它的映射语句。 这里主要介绍输入映射和输出映射。【1】输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。这里以传递pojo的包装对象为例,还是通过用户表的查询来完成。需求:完成用户信原创 2017-08-19 18:31:37 · 584 阅读 · 0 评论 -
【Mybatis从0到1-009】订单商品模型数据分析
对于整个mybatis学习过程中所使用的数据库,早在【开篇】 中就有提及数据库的建立,主要数据表如下:四个数据表,分别是用户表:user,订单表:orders,订单明细表:orderdetail,商品表:items。本章主要对订单商品的数据模型进行分析,这将会是后续内容的基础。【1】数据模型分析思路1、每张表记录的数据内容 分模块对每张表记录的内容进原创 2017-08-21 16:07:20 · 453 阅读 · 0 评论 -
【Mybatis从0到1-001】开篇
mybatis是支持普通SQL查询、存储过程和高级映射的优秀的持久层框架。主要思想是:将程序中的大量的SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。好处就是,将SQL与程序代码分离,做到可以在不修改程序代码的情况下,直接在配置文件中修改SQL。【Mybatis-从0到1】系列主要分为两大篇。第一篇:主要介绍单纯的mybatis的应用第二篇:介绍mybatis与Sprin原创 2017-08-17 16:23:16 · 549 阅读 · 0 评论 -
【Mybatis升级版-03】Controller方法的返回值
Controller的方法返回值,主要有以下三种:【1】返回ModelAndView 需要方法结束时,定义ModelAndView,将model和view分别进行设置。 【2】返回string 如果controller方法返回string, 2.1 表示返回逻辑视图名。 真正视图(jsp路径)=前缀+逻辑视图名+后原创 2017-09-06 21:45:40 · 625 阅读 · 0 评论