Mybatis基于XML配置SQL映射器(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Durid和Mybatis开发环境搭建SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务(http://www.cnblogs.com/nbfujx/p/7694768.

 Durid和Mybatis开发环境搭建

SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务(http://www.cnblogs.com/nbfujx/p/7694768.html

Mybatis之代码生成器

Maven Plugin管理

 1  <build>
 2         <plugins>
 3             <plugin>
 4                 <groupId>org.mybatis.generator</groupId>
 5                 <artifactId>mybatis-generator-maven-plugin</artifactId>
 6                 <version>1.3.5</version>
 7                 <executions>
 8                     <execution>
 9                         <id>Generate MyBatis Artifacts</id>
10                         <goals>
11                             <goal>generate</goal>
12                         </goals>
13                     </execution>
14                 </executions>
15             </plugin>
16             <plugin>
17                 <groupId>org.apache.maven.plugins</groupId>
18                 <artifactId>maven-compiler-plugin</artifactId>
19                 <configuration>
20                     <source>1.6</source>
21                     <target>1.6</target>
22                 </configuration>
23             </plugin>
24         </plugins>
25     </build>
View Code

generatorConfig.xml

配置相关内容

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE generatorConfiguration PUBLIC
 3         "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
 5 <generatorConfiguration>
 6 
 7     <!-- !!!! Driver Class Path !!!! -->
 8     <classPathEntry location="C:\Users\Han\.m2\repository\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar"/>
 9 
10     <context id="context" targetRuntime="MyBatis3">
11         <commentGenerator>
12             <property name="suppressAllComments" value="false"/>
13             <property name="suppressDate" value="true"/>
14         </commentGenerator>
15 
16         <!-- !!!! Database Configurations !!!! -->
17         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://10.1.51.235:3306/jawavesys" userId="root" password="jawave88"/>
18 
19         <javaTypeResolver>
20             <property name="forceBigDecimals" value="false"/>
21         </javaTypeResolver>
22 
23         <!-- !!!! Model Configurations !!!! -->
24         <javaModelGenerator targetPackage="com.goku.druid.demo.model" targetProject="src/main/java">
25             <property name="enableSubPackages" value="false"/>
26             <property name="trimStrings" value="true"/>
27         </javaModelGenerator>
28 
29         <!-- !!!! Mapper XML Configurations !!!! -->
30         <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
31             <property name="enableSubPackages" value="false"/>
32         </sqlMapGenerator>
33 
34         <!-- !!!! Mapper Interface Configurations !!!! -->
35         <javaClientGenerator targetPackage="com.goku.druid.demo.mapper" targetProject="src/main/java" type="XMLMAPPER">
36             <property name="enableSubPackages" value="false"/>
37         </javaClientGenerator>
38 
39         <!-- !!!! Table Configurations !!!! -->
40         <table tableName="user_" domainObjectName="User" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
41                enableUpdateByExample="false"/>
42     </context>
43 </generatorConfiguration>
View Code

Maven生成语句配置(mybatis-generator:generate

Maven生成语句启动

修改 generatorConfig.xml 里 Table Configurations 的相关配置,然后启动生成

Mybatis之SpringBoot配置

mybatis-spring-boot-starter方式

1 <dependency>
2     <groupId>org.mybatis.spring.boot</groupId>
3     <artifactId>mybatis-spring-boot-starter</artifactId>
4     <version>1.0.0</version>
5 </dependency>
View Code

application.properties配置

1 # mybatis
2 mybatis.type-aliases-package=com.goku.mybatis.model
3 mybatis.mapper-locations=classpath:mapping/**/*.xml
4         
5 #pagehelper
6 pagehelper.helperDialect=mysql
7 pagehelper.reasonable=true
8 pagehelper.supportMethodsArguments=true
9 pagehelper.params=count=countSql
View Code

GITHUB

github :  https://github.com/nbfujx/learn-java-demo/tree/master/Goku.MybatisDemo.XML

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
4月前
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
284 18
|
9月前
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
8月前
|
SQL Java 数据库连接
MyBatis动态SQL字符串空值判断,这个细节99%的程序员都踩过坑!
本文深入探讨了MyBatis动态SQL中字符串参数判空的常见问题。通过具体案例分析,对比了`name != null and name != &#39;&#39;`与`name != null and name != &#39; &#39;`两种写法的差异,指出后者可能引发逻辑混乱。为避免此类问题,建议在后端对参数进行预处理(如trim去空格),简化MyBatis判断逻辑,提升代码健壮性与可维护性。细节决定成败,严谨处理参数判空是写出高质量代码的关键。
1031 0
|
4月前
|
SQL Java 数据库连接
SSM相关问题-1--#{}和${}有什么区别吗?--Mybatis都有哪些动态sql?能简述一下动 态sql的执行原理吗?--Spring支持的几种bean的作用域 Scope
在MyBatis中,`#{}`是预处理占位符,可防止SQL注入,适用于大多数参数传递场景;而`${}`是直接字符串替换,不安全,仅用于动态表名、列名等特殊场景。二者在安全性、性能及使用场景上有显著区别。
82 0
|
7月前
|
SQL XML Java
菜鸟之路Day35一一Mybatis之XML映射与动态SQL
本文介绍了MyBatis框架中XML映射与动态SQL的使用方法,作者通过实例详细解析了XML映射文件的配置规范,包括namespace、id和resultType的设置。文章还对比了注解与XML映射的优缺点,强调复杂SQL更适合XML方式。在动态SQL部分,重点讲解了`&lt;if&gt;`、`&lt;where&gt;`、`&lt;set&gt;`、`&lt;foreach&gt;`等标签的应用场景,如条件查询、动态更新和批量删除,并通过代码示例展示了其灵活性与实用性。最后,通过`&lt;sql&gt;`和`&lt;include&gt;`实现代码复用,优化维护效率。
589 5
|
9月前
|
XML Java 数据库连接
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
283 21
|
9月前
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
|
9月前
|
SQL 缓存 Java
框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性
本文详细解构了MyBatis的工作机制,包括解析配置、创建连接、执行SQL、结果封装和关闭连接等步骤。文章还介绍了MyBatis的五大核心功能特性:支持动态SQL、缓存机制(一级和二级缓存)、插件扩展、延迟加载和SQL注解,帮助读者深入了解其高效灵活的设计理念。
|
10月前
|
SQL XML Java
九、MyBatis动态SQL
九、MyBatis动态SQL
163 2
|
11月前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
1122 6