feat(board-generator): add board code generator and sample CRUD artifacts
Add Node.js CLI tool with Handlebars templates for generating standard CRUD artifacts: Java entity, service, DAO, controller, MyBatis mapper XML, and Vue frontend pages. Also generate the full SampleTableBoard CRUD reference implementation, update README with backend execution instructions, and add project plan documentation.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="{{mapperNamespace}}">
|
||||
|
||||
<resultMap id="{{entityVarName}}ResultMap" type="{{entityFqcn}}">
|
||||
{{#each columns}}
|
||||
{{#if primaryKey}}<id property="{{propertyName}}" column="{{columnName}}"/>{{else}}<result property="{{propertyName}}" column="{{columnName}}"/>{{/if}}
|
||||
{{/each}}
|
||||
</resultMap>
|
||||
|
||||
<select id="select{{entityName}}List" resultMap="{{entityVarName}}ResultMap">
|
||||
SELECT {{#each columns}}{{columnName}}{{#unless @last}}, {{/unless}}{{/each}}
|
||||
FROM {{metadata.schema}}.{{tableName}}
|
||||
ORDER BY {{primaryKeyColumn.columnName}} DESC
|
||||
</select>
|
||||
|
||||
<select id="select{{entityName}}" parameterType="{{primaryKeyMyBatisType}}" resultMap="{{entityVarName}}ResultMap">
|
||||
SELECT {{#each columns}}{{columnName}}{{#unless @last}}, {{/unless}}{{/each}}
|
||||
FROM {{metadata.schema}}.{{tableName}}
|
||||
WHERE {{primaryKeyColumn.columnName}} = #{{'{'}}{{primaryKeyProperty}}{{'}'}}
|
||||
</select>
|
||||
|
||||
<insert id="insert{{entityName}}" parameterType="{{entityFqcn}}"{{#if primaryKeyColumn.autoIncrement}} useGeneratedKeys="true" keyProperty="{{primaryKeyProperty}}"{{/if}}>
|
||||
INSERT INTO {{metadata.schema}}.{{tableName}} (
|
||||
{{#each insertColumns}}
|
||||
{{columnName}}{{#unless @last}},{{/unless}}
|
||||
{{/each}}
|
||||
)
|
||||
VALUES (
|
||||
{{#each insertColumns}}
|
||||
#{{'{'}}{{propertyName}}{{'}'}}{{#unless @last}},{{/unless}}
|
||||
{{/each}}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="update{{entityName}}" parameterType="{{entityFqcn}}">
|
||||
UPDATE {{metadata.schema}}.{{tableName}}
|
||||
SET
|
||||
{{#each updateColumns}}
|
||||
{{columnName}} = #{{'{'}}{{propertyName}}{{'}'}}{{#unless @last}},{{/unless}}
|
||||
{{/each}}
|
||||
WHERE {{primaryKeyColumn.columnName}} = #{{'{'}}{{primaryKeyProperty}}{{'}'}}
|
||||
</update>
|
||||
|
||||
<delete id="delete{{entityName}}" parameterType="{{primaryKeyMyBatisType}}">
|
||||
DELETE FROM {{metadata.schema}}.{{tableName}}
|
||||
WHERE {{primaryKeyColumn.columnName}} = #{{'{'}}{{primaryKeyProperty}}{{'}'}}
|
||||
</delete>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user