SpringMVC+Mybatis 由浅及深
文章平均质量分 79
SpringMVC + Mybatis 笔记整理
蜡笔小逹
生于尘埃,溺于人海。学海无涯,吾知有限。
展开
-
MyBatis(八) —— 逆向工程
MyBatis 逆向工程就是使用MyBatis提供的一个叫做MyBatis Generator的工具,帮助我们自动生成mapper、pojo、sql等,省去很多步骤,提高开发效率。原创 2020-08-26 21:31:27 · 248 阅读 · 0 评论 -
MyBatis(七) ——延时加载与查询缓存
1.延时加载延迟加载,也可以理解为按需加载,先从单表查询做起,在需要时再关联查询,减少了不必要的查询,可以从一定程度上提高数据库的性能。MyBatis里面的关联查询标签<association>和<collection>都具备延时加载的功能从基本需求开始说起吧。需求是,查询订单信息,在需要是关联查询用户信息。下面来看看,MyBatis是怎么实现延时加载的。1. Mapper.javapublic List<OrdersCustom> findOrderAndUse原创 2020-08-20 21:09:59 · 247 阅读 · 0 评论 -
MyBatis(六) —— 高级映射
1. 数据模型分析MyBatis高级映射涉及到联合查询,包括一对一、一对多、多对多等复杂查询。本文中所用的数据来自于MyBatis(二)—— 入门程序之单表增删查改。这里面有用户表、商品表、订单表、订单明细表。订单关联用户,订单明细关联订单和商品,以下是用visio2010画的数据库模型图。根据上述模型图和表的实际含义,可以推测出下面的对应关系:订单——用户: 一个订单对应一个用户,属于一对一的关系;用户——订单:一个用户可以创建多个订单,属于一对多的关系;订单——订单明细:一个订单可以对应多原创 2020-08-18 21:48:47 · 762 阅读 · 0 评论 -
MyBatis(五) —— SQL映射文件
SQL映射文件对于MyBatis的开发而言很重要,这个映射文件省去我们很多JDBC开发。再这个配置文件当中,基本单表的增(insert)、删(delete)、查(select)、改(update)前面也都有提到,这里就不多赘述了。需要多留个心眼儿的地方是,插入时自增主键和非自自增主键的返回,是通过<selectKey>标签来完成的,具体可参考MyBatis(二)—— 入门程序之单表增删查改。复杂的操作会在后面进行说明,也不在本篇的范围之内。本篇主要讲一些SQL映射中比较常用的属性或者标签。原创 2020-08-16 16:04:54 · 461 阅读 · 0 评论 -
MyBatis(四) —— MyBatis全局配置文件SqlMapConfig.xml中各属性详解
MyBatis 的全局配置文件(SqlMapConfig.xml,名字不固定)包含了影响 MyBatis 行为甚深的设置和属性信息。 XML文档的高层级结构如下:configuration 配置properties 属性settings 设置typeAliases 类型命名typeHandlers 类型处理器objectFactory 对象工厂plugins 插件environments 环境environment 环境变量transactionManager 事务管理器data原创 2020-08-15 21:44:23 · 748 阅读 · 0 评论 -
MyBatis(三) ——数据访问对象(DAO)的开发
1. 范围与生命周期这一节,我们来讨论一下三个范围与生命周期,理解不同范围和生命周期类是很重要的。不正确的使用它们会导致严重的并发问题。1.1 SqlSessionFactoryBuilder这个类可以被实例化,使用和丢弃。一旦你创建了 SqlSessionFactory 后,这个类就不需要存在了。因此 SqlSessionFactoryBuilder 实例的最佳范围是方法范围(也就是本地方法变量)。你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFact原创 2020-08-14 20:40:35 · 296 阅读 · 0 评论 -
MyBatis(二)—— 入门程序之单表增删查改
1.数据准备在mysql中创建一个名为mybatis的数据库;导入table.sql创建数据表(本例中使用的是MySQL5.7,这个sql文件其他版本可能不适用)-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64)---- Host: localhost Database: mybatis-- -------------------------------------------------------- Server ver原创 2020-08-10 21:55:58 · 380 阅读 · 0 评论 -
Mybatis(一)—— 初识MyBatis
1. 从JDBC说起1.1 JDBC的问题先看一个JDBC的程序。jdbc.propertiesdriver=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://192.168.100.120:3306/Antennapara?autoReconnect=trueuser=monicapassword=***JDBCUtils.javaimport java.io.InputStream;import java.sql.Connection;i原创 2020-08-05 20:38:36 · 669 阅读 · 0 评论 -
Spring/Mybatis从应用外部读取配置文件
一般配置文件(以db.properties为例)都放在classpath 下,然后这样调用<properties resource="db.properties" />。但是通常会有这样的需求,即,将配置文件放在电脑本地目录中,以便数据库变动时,方便修改配置文件。假设配置文件放在home目录下(Linux)的config文件夹中,通过<properties resource=...原创 2019-08-19 18:43:03 · 1009 阅读 · 0 评论 -
Spring 报错 java.lang.IllegalArgumentException
在使用Spring3.2.0开发项目的过程中,在如下两个场景下遇到了报错java.lang.IllegalArgumentException的情况。Spring 3.2.0 + jdk1.8 注解注入,如(a)初始化@PostConstruct public void init() { //initialization }(b)applcaitonContext.xml&...原创 2019-09-02 10:30:57 · 1988 阅读 · 0 评论 -
Spring 报错:Unable to locate Spring NamespaceHandler for XML schema namespace
在开发项目过程中,将所用到的spring依赖包合并成一个,且先叫做Spring.jar好了。后面发现合并之后报错,而且即使spring依赖包没有合并,项目工程生成可运行jar后,也报同样的错,具体信息为org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: U...原创 2019-08-29 10:29:21 · 5238 阅读 · 0 评论 -
Spring+Mybatis连接多个数据库
1.需求开发先从需求或项目情况说起,项目用到几个简单的数据库和表,但是因为库和表简单,所以都配置在一个mapper里面。也即,一个mapper,需要对应多个数据库。数据库配置文件要放在最终生成的可执行jar同目录下的config文件里,跟其它设备的相关配置一起放在connection.properties文件中。2.开发与设计2.1 数据库配置信息屏蔽了ip信息jdbc.driv...原创 2019-08-29 09:49:39 · 5548 阅读 · 0 评论