MyBatis-数据修改

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);
	}
}
<完>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值