MyBatis3 — это инструмент для автоматического создания кода, простой и удобный в использовании, предназначенный для работы с Java и MySQL. Преимущества:
Существует также версия проекта для PostgreSQL — PgBatis3AutoCode, подробности доступны по ссылке: PgBatis3AutoCode.
CREATE TABLE `TB_Users` (
`ID` int(11) NOT NULL COMMENT '用户ID',
`UserName` varchar(50) NOT NULL COMMENT '用户姓名',
`UserLevel` tinyint(4) NOT NULL COMMENT '用户级别',
`UserNotes` varchar(200) DEFAULT NULL COMMENT '用户注释',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
Обратите внимание: поля и таблицы должны быть снабжены комментариями!
Файл конфигурации имеет следующий формат:
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
<!-- 包名 -->
<PackageName>com.bookool.demo</PackageName>
<!-- 数据表前缀(可以为空) -->
<TableNamePrefixion>TB_</TableNamePrefixion>
<!-- 数据表脚本文件所在目录 -->
<TableScriptDir ConType="dir">/root/demo/table</TableScriptDir>
<!-- model目录 -->
<ModelDir ConType="dir">/root/demo/demo/src/main/java/com/bookool/demo/model</ModelDir>
<!-- dao目录 -->
<DaoDir ConType="dir">/root/demo/demo/src/main/java/com/bookool/demo/dao</DaoDir>
<!-- service目录 -->
<ServiceDir ConType="dir">/root/demo/demo/src/main/java/com/bookool/demo/service</ServiceDir>
<!-- service.implкаталог -->
<ServiceImplDir ConType="dir">/root/demo/demo/src/main/java/com/bookool/demo/service/impl</ServiceImplDir>
</Config>
Обратите внимание: каталоги должны существовать!
java -jar MyBatis3AutoCode.jar config.xml
где MyBatis3AutoCode.jar — сгенерированный jar-файл, config.xml — путь к файлу конфигурации. 3. Метод 2: выполните следующую команду, чтобы сгенерировать код для конкретной таблицы:
java -jar MyBatis3AutoCode.jar config.xml TableName
где TableName — имя таблицы без префикса.
<?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="cn.run2.TG.HelloWorld.dao.UsersMapper" >
<resultMap id="BaseResultMap" type="com.bookool.demo.model.Users" >
<!-- 用户ID -->
<id column="ID" property="id" jdbcType="INTEGER" />
<!-- 用户姓名 -->
<result column="UserName" property="username" jdbcType="VARCHAR" />
<!-- 用户级别 -->
<result column="UserLevel" property="userlevel" jdbcType="TINYINT" />
<!-- 用户注释 -->
<result column="UserNotes" property="usernotes" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
ID, UserName, UserLevel, UserNotes
</sql>
<!-- 分页 -->
<sql id="Page">
<if test="Offset!=null and Rows!=null">
LIMIT #{Offset,jdbcType=INTEGER}, #{Rows,jdbcType=INTEGER}
</if>
</sql>
<!-- 基础模板 取得 Users 分页列表 -->
<select id="baseselectListPage" resultMap="BaseResultMap" parameterType="java.util.Map" >
SELECT
<include refid="Base_Column_List" />
FROM TB_Users
<trim prefix="WHERE" prefixOverrides="AND|OR">
<if test="id!=null">
AND ID = #{id, jdbcType=INTEGER}
</if>
<if test="username!=null and username!=''">
AND UserName LIKE CONCAT('%', #{username, jdbcType=VARCHAR}, '%')
</if>
<if test="userlevel!=null">
AND UserLevel = #{userlevel, jdbcType=TINYINT}
</if>
<if test="usernotes!=null and usernotes!=''">
AND UserNotes LIKE CONCAT('%', #{usernotes, jdbcType=VARCHAR}, '%')
</if>
</trim>
<include refid="Page"></include>
</select>
<!-- 基础模板 取得 одного Users объекта -->
<select id="baseselectTopOneByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
SELECT
<include refid="Base_Column_List" />
FROM TB_Users
WHERE ID = #{id,jdbcType=INTEGER}
LIMIT 0,1
</select>
<!-- 基础模板 удаление Users данных -->
<delete id="basesdeleteByPrimaryKey"
``` **ПараметрТип="java.lang.Integer" >**
DELETE FROM TB_Users
WHERE ID = #{id,jdbcType=INTEGER}
**<!-- Базовый шаблон: удаление полной записи из таблицы Users -->**
<delete>
DELETE FROM TB_Users
WHERE ID = #{id, jdbcType=INTEGER}
</delete>
**<!-- 基础模板: добавление одной полной записи в таблицу Users -->**
<insert id="baseinsert" parameterType="cn.run2.TG.HelloWorld.model.Users" >
INSERT INTO TB_Users (
ID, UserName, UserLevel, UserNotes)
VALUES (
#{id, jdbcType=INTEGER}, #{username, jdbcType=VARCHAR},
#{userlevel, jdbcType=TINYINT}, #{usernotes, jdbcType=VARCHAR})
</insert>
**<!-- 基础模板: добавление одной записи в таблицу Users -->**
<insert id="baseinsertSelective" parameterType="com.bookool.demo.model.Users" >
INSERT INTO TB_Users (
ID, UserName, UserLevel, UserNotes)
VALUES (
#{id, jdbcType=INTEGER}, #{username, jdbcType=VARCHAR},
#{userlevel, jdbcType=TINYINT}, #{usernotes, jdbcType=VARCHAR})
</insert>
**<!-- 基础模板: обновление полной записи в таблице Users -->**
<update id="baseupdate" parameterType="com.bookool.demo.model.Users" >
UPDATE TB_Users SET
UserName = #{username,jdbcType=VARCHAR},
UserLevel = #{userlevel,jdbcType=TINYINT},
UserNotes = #{usernotes,jdbcType=VARCHAR}
WHERE
ID = #{id,jdbcType=INTEGER}
</update>
**<!-- 基础模плет: обновление записи в таблице Users -->**
<update id="baseupdateSelective" parameterType="com.bookool.demo.model.Users" >
UPDATE TB_Users SET
<if test="username!=null" >
UserName = #{username,jdbcType=VARCHAR},
</if>
<if test="userlevel!=null" >
UserLevel = #{userlevel,jdbcType=TINYINT},
</if>
<if test="usernotes!=null" >
UserNotes = #{usernotes,jdbcType=VARCHAR},
</if>
WHERE
ID = #{id,jdbcType=INTEGER}
</update>
</mapper>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )