update,insert,delete操作
基础配置请参照上一篇文章->MyBatis-环境配置以及查询
这里仅列出变更的代码部分。studentMapper.xml
<?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="student">
<!-- id可以理解为标识sql statement的唯一标识 -->
<!--
MyBatis中占位符的表达方式同SpringMVC的EL表达式类似,#{}中可以使用任意的形参。
resultType指定需要映射的类型。
-->
<select id="findStudentByName" parameterType="String" resultType="mybatis.Student">
select * from student where name = #{value}
</select>
<!-- 注意 parameterType仍然是Student,通过ONGL来解析对应的属性 -->
<!-- selectKey 将插入操作生成的自增主键值设定到parameterType的属性中。 -->
<insert id="insertStudent" parameterType="mybatis.Student">
<selectKey keyProperty="id" order="AFTER" resultType="int">
select last_insert_id();
</selectKey>
insert into student(name, age) values(#{name}, #{age});
</insert>
<update id="updateStudent" parameterType="mybatis.Student">
update student set name=#{name} where id=#{id};
</update>
<delete id="deleteStudentById" parameterType="java.lang.Integer">
delete from student where id=#{id};
</delete>
</mapper>
MybatisTest.java
package mybatis;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MybatisTest {
public static void main(String[] args) throws IOException{
//指定mybatis的配置文件
InputStream is = Resources.getResourceAsStream("sqlMapConfig.xml");
//得到 SqlSessionFactory接口引用 用来创建SqlSession接口引用
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
//通过工厂来获取SqlSession接口
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//id是自增的,不需要赋值操作。
Student s = new Student(13, "newuser", 20);
//执行插入操作
//sqlSession.insert("student.insertStudent", s);
//执行更新操作
sqlSession.update("student.updateStudent", s);
//执行删除操作
sqlSession.delete("student.deleteStudentById", 13);
//查询插入的结果
List<Student> list = sqlSession.selectList("student.findStudentByName", "newuser");
sqlSession.close();
System.out.println(list);
}
}
<完>