<insert id="insert" parameterType="com.goertek.technology.techniqueparameter.domain.verify.VerifyParamCraftNo" useGeneratedKeys="true" keyProperty="id"> INSERT INTO T_VERIFY_PARAM_CRAFT_NO <selectKey keyProperty="id" resultType="long" order="BEFORE"> SELECT SEQ_T_VERIFY_PARAM_CRAFT_NO.nextVal as id FROM DUAL </selectKey>
时间: 2023-12-05 15:49:53 浏览: 261
这段 XML 配置是一个 MyBatis 的 INSERT 语句,用于向名为 T_VERIFY_PARAM_CRAFT_NO 的数据库表中插入一条数据,并生成主键。其中,parameterType 属性指定了传入的参数类型,useGeneratedKeys 属性设置为 true 表示使用数据库自动生成的主键,keyProperty 属性指定了主键值对应的 Java 对象属性名。
在 INSERT 语句中,使用了 selectKey 标签来定义在插入数据前先查询序列 SEQ_T_VERIFY_PARAM_CRAFT_NO 的下一个值,并将其作为主键插入到 T_VERIFY_PARAM_CRAFT_NO 表中。具体地,selectKey 标签的 keyProperty 属性指定了主键值对应的 Java 对象属性名,resultType 属性指定了返回值的类型,order 属性指定了在 INSERT 语句执行之前查询序列的顺序。
这样的配置可以使得插入数据的同时,自动生成主键值,并将其赋值到 Java 对象的属性中,方便后续的操作。
相关问题
<insert id="insert" parameterType="com.goertek.technology.techniqueparameter.domain.verify.VerifyParamCraftNo" useGeneratedKeys="true" keyProperty="id">
这是一个 MyBatis 的 XML 配置,用于向数据库中插入一条数据,并返回自动生成的主键值。其中 id 属性指定了该 SQL 语句的唯一标识符,parameterType 属性指定了传入的参数类型,useGeneratedKeys 属性设置为 true 表示使用数据库自动生成的主键,keyProperty 属性指定了主键值对应的 Java 对象属性名。具体的实现可以根据需要补充其他 SQL 语句和参数映射配置。
<?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="com.de.debook.mapper.CategoryMapper"> <resultMap id="BaseResultMap" type="com.de.debook.entity.Category"> <id column="id" jdbcType="INTEGER" property="id"/> <result column="name" jdbcType="VARCHAR" property="name"/> </resultMap> <resultMap id="StatisticsResultMap" type="com.de.debook.entity.Statistics"> <result column="name" jdbcType="VARCHAR" property="name"/> <result column="value" jdbcType="VARCHAR" property="value"/> </resultMap> <sql id="Base_Column_List"> id, name </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from category where id = #{id,jdbcType=INTEGER} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> delete from category where id = #{id,jdbcType=INTEGER} </delete> <insert id="insert" parameterType="com.de.debook.entity.Category"> insert into category (id, name) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}) </insert> <insert id="insertSelective" parameterType="com.de.debook.entity.Category"> insert into category <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> id, </if> <if test="name != null"> name, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> #{id,jdbcType=INTEGER}, </if> <if test="name != null"> #{name,jdbcType=VARCHAR}, </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.de.debook.entity.Category"> update category <set> <if test="name != null"> name = #{name,jdbcType=VARCHAR}, </if> </set> where id = #{id,jdbcType=INTEGER} </update> <update id="updateByPrimaryKey" parameterType="com.de.debook.entity.Category"> update category set name = #{name,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} </update> <select id="selectAll" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from category order by id asc </select> <select id="selectStatistics" resultMap="StatisticsResultMap"> SELECT t1.name as name, COUNT(*) as value FROM category t1, debook t2 WHERE t1.id = t2.category_id GROUP BY t1.id order by t1.id asc </select> </mapper>
这是一个 MyBatis 的 Mapper 文件,用于映射实体类 Category 到数据库表 category。其中包括了一些 SQL 语句,如 selectByPrimaryKey、deleteByPrimaryKey、insert、updateByPrimaryKeySelective 等,用于对数据表进行增删改查操作。还定义了两个结果映射 resultMap,用于将查询结果映射到实体类或自定义的统计类 Statistics 中。最后还定义了两个 select 语句,用于查询所有分类和分类的统计信息。
阅读全文