mybatis中的insert记录

332 阅读1分钟
Emp类emp表意义
eideidid值
empNameemp_name名字
diddid部门编号

上面表中名字字段在类和表中是不同的,但是对于插入是不影响的。查询会有影响,解决办法为起别名、配置全局settings(注意类中属性和表中列名要按规范的写"驼峰命名法"和"_")、在mapper.xml中配置resultMap标签。

一般插入

<insert id="insertEmp">
    insert into emp values(null ,#{empName},#{did});
</insert>
mapper接口中的方法
void insertEmp(@Param("empName") String empName, @Param("did") Integer did);

这种就是正常的传值,插入

插入一个对象

先创建一个Emp对象,之后将对象作为参数传过去

/**
 * 传入一个对象插入一条数据
 * @param emp
 */
int insertEmpByObject(Emp emp);
下面这种事错误的写法,不能用@Param注解标注这个对象参数,会报错
int insertEmpByObject(@Param("emp") Emp emp);
<insert id="insertEmpByObject" parameterType="huiqing.pojo.Emp"> parameterType属性不能少
    insert into emp values(null,#{empName},#{did});
</insert>

测试代码

@Test
    public void testInsertEmp(){
        Emp emp1 = new Emp(null, "insert", 3);
        int i = empMapper.insertEmpByObject(emp1);
        System.out.println(i);

    }