封装工具类方法

在这里插入图片描述
在这里插入图片描述
报错是因为没有加@Test
selectUser 方法没有使用 @Test 注解,因此如果它是作为单元测试方法的话,它不会被测试框架(如JUnit)识别和执行。
在这里插入图片描述
成功。
在这里插入图片描述

这个里面的代码:
在这里插入图片描述

package com.zhang.mybatis.sy3;

import java.io.IOException;
import java.io.Reader;

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.zhang.mybatis.sy1.User;
import com.zhang.mybatis.util.mybatisUtil;


public class testUser {
	/*public static void main(String[] args) throws IOException {
		String resource = "conf.xml"; 
		//加载 mybatis 的配置文件(它也加载关联的映射文件)
		Reader reader = Resources.getResourceAsReader(resource); //resource = conf.xml 上一行
		//构建 sqlSession 的工厂
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
		//创建能执行映射文件中 sql 的 sqlSession
		SqlSession session = sessionFactory.openSession();
		//映射 sql 的标识字符串
		User u = session.selectOne("com.zhang.mybatis.sy3.userMapper"+".selectUser", 3);
		System.out.println(u);
		
	}
	*/
	@Test
	public void selectUser() throws IOException{
	/*	String resource = "conf.xml"; 
		//加载 mybatis 的配置文件(它也加载关联的映射文件)
		Reader reader = Resources.getResourceAsReader(resource); //resource = conf.xml 上一行
		//构建 sqlSession 的工厂
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
		//创建能执行映射文件中 sql 的 sqlSession
		SqlSession session = sessionFactory.openSession();
		//映射 sql 的标识字符串
*/		
		SqlSession session = mybatisUtil.getSqlSession();
		User u = session.selectOne("com.zhang.mybatis.sy3.userMapper"+".selectUser", 3);
		System.out.println(u);	
	}
	
	//使用单元测试方法
	@Test
	public void testInsertUser() throws IOException{
		SqlSession session = mybatisUtil.getSqlSession();
		String s = "com.zhang.mybatis.sy3.userMapper"+".insertUser";
		//这里体现封装性
		User u = new User();
		u.setName("zhangsan");
		u.setAge(20);
		
		//或者在User.calss中,写一个有参构造方法
		//如果我写了这个有参构造方法,
		/*public User(String name,int age){
			this.name = name;
			this.age = age;
		}*/
		
		//此时删除		u.setName("zhangsan");
//		u.setAge(20);
		//这两行代码也可以,就是说这是两个方法
		
		int insert = session.insert(s,u);//返回值0失败1成功
		
		
		//这里,运行发现数据库没有添加进去数据,原因是默认是手动添加的,因此需要修改代码,添加下面的一行,
		//或者SqlSession session = sessionFactory.openSession(ture);  添加ture
		session.commit();
		System.out.println(insert);
		
	}
	//更新
	@Test
	public void updateUser() throws IOException{
		SqlSession session = mybatisUtil.getSqlSession();
		session.commit();
		String s = "com.zhang.mybatis.sy3.userMapper"+".updateUser";
		int u = session.update(s, new User(1,"xiaoxiao",18));//不知道为什么接收值是int!!!!!!,可能是因为这个方法提醒的就是返回值是int
		System.out.println(u);		
	}
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值