Mybatis学习笔记(三)--增删查改编写

编写增删查改测试程序

package com.janson.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
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;
import org.junit.Test;

import com.janson.pojo.User;

public class MybatisDemoTest {
	
	//查找用户
	@Test
	public void findByIdTest() throws Exception {
		
		String resource = "sqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		//创建sqlsessoionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
		//创建sqlsession
		SqlSession session = sqlSessionFactory.openSession();
		User user = session.selectOne("user.findById", 1);
		System.out.println(user);
	}
	
	//根据用户名来查找查找用户
	@Test
	public void findByNameTest() throws Exception {
		//加载配置文件
		String resource = "sqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		//创建sqlsessoionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
		//创建sqlsession
		SqlSession session = sqlSessionFactory.openSession();
		List<User> list = session.selectList("findUserByName", "janson");
		for (User user : list) {
			System.out.println(user);
		}
	}
	
	//添加用户
	@Test
	public void insertUserTest() throws Exception {
		//加载配置文件
		String resource = "sqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		//创建sqlsessoionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
		//创建sqlsession
		SqlSession session = sqlSessionFactory.openSession();
		User user = new User();
		user.setAddress("111");
		user.setUsername("linjanson");
		user.setSex("男");
		user.setBirthday(new Date());
		int insert = session.insert("user.insertUser", user);
		session.commit();//需要自己手动提交一下
		System.out.println(user.getId());
	}
	
	//修改用户
	@Test
	public void updateUserTest() throws Exception {
		//加载配置文件
		String resource = "sqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		//创建sqlsessoionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
		//创建sqlsession
		SqlSession session = sqlSessionFactory.openSession();
		User user = new User();
		user.setId(27);
		user.setAddress("22222");
		user.setUsername("jansonlin");
		user.setSex("男");
		user.setBirthday(new Date());
		int update = session.update("user.updateUser", user);
		session.commit();//需要自己手动提交一下
		System.out.println(user.getId());
	}
	
	//删除用户
	@Test
	public void deleteUserTest() throws Exception {
		//加载配置文件
		String resource = "sqlMapConfig.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		//创建sqlsessoionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
		//创建sqlsession
		SqlSession session = sqlSessionFactory.openSession();
		
		int delete = session.delete("user.deleteUser", 27);//删除刚刚添加的用户
		session.commit();//需要自己手动提交一下
	}
}

编写映射文件

<?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">
<!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 -->
<mapper namespace="user">

	<!-- 查找用户 -->
	<!-- 
		属性:
			id:声明的唯一标识
			paramterType:传入参数类型
			resultType:返回值的类型
	 -->
	<select id="findById" parameterType="Integer" resultType="com.janson.pojo.User">
		select * from user where id=#{v}
	</select>
	
	<!-- 通过名字模糊搜索用户 -->
	<select id="findUserByName" parameterType="String" resultType="com.janson.pojo.User">
		select * from user where username like "%"#{v}"%"
	</select>
	
	<!-- 添加用户 -->
	<insert id="insertUser" parameterType="com.janson.pojo.User">
		<selectKey keyProperty="id" resultType="Integer" order="AFTER">
		<!-- 这里是查找出最新插入数据库中的一ID值 -->
			select LAST_INSERT_ID()
		</selectKey>
		insert into user(username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address})
	</insert>
	
	<!-- 修改用户 -->
	<update id="updateUser" parameterType="com.janson.pojo.User">
		update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
	</update>
	
	<!-- 删除用户 -->
	<delete id="deleteUser" parameterType="Integer">
		delete from user where id = #{id}
	</delete>

</mapper>

运行结果

findByIdTest

findByNameTest

insertUserTest

deleteUserTest

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值