在 MyBatis 中使用 XML 文件编写 SQL 语句时,可以使用以下技巧来编写创建表的 SQL 脚本:
使用<![CDATA[ ]]> 标签包裹 SQL 语句,以避免 XML 解析器解析特殊字符。<sql id="createTable"> <![CDATA[ CREATE TABLE IF NOT EXISTS table_name ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL ); ]]></sql>使用参数化的 SQL 语句,以便根据需要动态替换表名、字段名等信息。<sql id="createTable"> <![CDATA[ CREATE TABLE IF NOT EXISTS ${tableName} ( ${column1} INT PRIMARY KEY AUTO_INCREMENT, ${column2} VARCHAR(50) NOT NULL ); ]]></sql>使用 <include> 标签引入其他 SQL 片段,以便复用已定义的 SQL 语句段。<sql id="tableColumns"> <![CDATA[ id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL ]]></sql><sql id="createTable"> <![CDATA[ CREATE TABLE IF NOT EXISTS table_name ( <include refid="tableColumns" /> ); ]]></sql>使用 ${} 占位符来引用变量,以便在运行时动态替换变量的值。<sql id="createTable"> <![CDATA[ CREATE TABLE IF NOT EXISTS ${tableName} ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL ); ]]></sql>通过以上技巧,可以更加灵活和高效地编写 MyBatis 中的创建表脚本。


