您的位置:首页 > 其它

MyBatis-数据修改

2016-06-14 21:05 253 查看
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);
}
}
<完>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: