一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquibase/config/ 文件夹下配置文件dev.properties, local.properties, 分别代表开发环境和本机环境的数据库信息. 2.确定liquibase作用于哪一个环境的数据库. 配置pom.xml文件中的property: db.profile 的值,比如 <db.profi…
今天用IDEA写Mybatis的时候,测试报了如图所示的错,恶心死我了,后来解决了,总结一下,防止下回跳坑,当然,也是做一个分享,如果有朋友遇到这个错,希望有所帮助 Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource 我先直接改错,后面分析: <resources> <resource> <directory>src/main/Java&l…
解决mybatis-generator 生成的mapper.xml覆盖自定义sql的问题 mybatis-generator是个好工具,一建即可生成基本增删改成功能的mapper.xml.但这些是不够的,需要自己往mapper.xml里面添加一些sql来满足需求.不过,后期修改表结构的时候就麻烦了,mybatis-generator生成的mapper.xml会与自己自定义的sql相混杂,改动相当麻烦. 解决方式很简单,使用mybatis-generator生成的mapper.xml就不要去改动里…
数据库表之间的关系有3种,一对一.一对多.多对多.既然是ORM,这肯定是必须有的.在学习EF的时候也有涉及,今天就是参考着EF的来学习下MyBatis的表关系映射. 一.准备工作 1.准备Model和Table 既然是要涉及表的一对一.一对多.多对多的关系,那肯定得先准备好实体关系,以及表.下面建了四个对象四个表.User<->Card是一对一关系,User<->Course一对多关系,User<->Role多对多关系. User CREATE TABLE `user`…
Mybatis的逆向工程非常简单,只要一个配置文件和一个Main方法就可以实现,下面以maven工程为例: (1)在pom.xml中引入依赖包 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependenc…
MyBatis真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL映射的XML文件是相当的简单.当然如果你将它们和对等功能的JDBC代码来比较,你会发现映射文件节省了大约95%的代码量.MyBatis的构建就是聚焦于SQL的,使其远离于普通的方式. SQL映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache - 配置给定命名空间的缓存. cache-ref – 从其他命名空间引用缓存配置. resultMap – 最复杂,也是最有力量的元素,用来描述如何从数据…
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方. 对于所有的力量, SQL映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 95%的代码量. MyBatis 的构建就是聚焦于 SQL 的,使其远离于普通的方式. SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache - 配置给定命名空间的缓存. cache-ref – 从其他命名空间引用缓存配置. resultMap – 最复杂,也是最…
<resultMap type="Student" id="StudentResult"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/…
如果持久类有List对象,我们可以通过列表或者bag元素在映射文件中映射. 这个包(bag)就像List一样,但它不需要索引元素. 在这里,我们使用论坛的场景: 论坛中一个问题有多个答案. 我们来看看如何在映射文件中实现包(bag): <class name="com.yiibai.Question" table="q100"> ... <bag name="answers" table="ans100"&g…
如果持久化类具有List对象,我们可以通过映射文件中的类的<list>元素或注释来映射List. 在这里,我们正在使用论坛的场景,其中一个问题有多个答案. 在这里,我们使用论坛的场景,其中一个问题有多个答案.我们来看看如何在映射文件中实现列表(List): <class name="com.yiibai.Question" table="q100"> ... <list name="answers" table=&q…