Mybatis(2)——Mapper映射文件
1,增删改查
<select id="SelectByID" resultType="zzz"> select * from emp where id = #{id} </select>
<insert id="add" parameterType="zzz"> INSERT INTO emp(id,name,addr) VALUES (#{id},#{name},#{addr}) </insert> <update id="update" parameterType="zzz"> UPDATE emp SET NAME =#{name},addr=#{addr} WHERE id=#{id} </update> <delete id="del" parameterType="java.lang.Integer"> DELETE FROM emp where id=#{id} </delete>
这里注意,在接口的定义的时候,可以指定增删改的返回值:
int、long返回影响的行数 boolean返回是否执行成功
在生成sqlSession的时候,使用true那表示默认提交。否则需要使用sqlSession.commit()提交修改
SqlSession sqlSession=sqlSessionFactory.openSession(true);
自增主键:
<!-- public void addEmp(Employee employee); --> <!-- parameterType:参数类型,可以省略, 获取自增主键的值: mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys(); useGeneratedKeys="true";使用自增主键获取主键值策略 keyProperty;指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性 --> <insert id="addEmp" parameterType="com.atguigu.mybatis.bean.Employee" useGeneratedKeys="true" keyProperty="id" databaseId="mysql"> insert into tbl_employee(last_name,email,gender) values(#{lastName},#{email},#{gender}) </insert>