mybatis学习笔记(1)-xml实体映射和测试类

1.user.xml配置文件包含了增删改查






	
	
	
	
	

	
	
	

	
	

	
	
	
		
		
		
		
		
		
			SELECT LAST_INSERT_ID()
		
		INSERT INTO `user`
		(username,birthday,sex,address) VALUES
		(#{name},#{birthday},#{sex},#{address})
	

	
	
		UPDATE `user` SET
		username = #{name},
		address = #{address},
		birthday = #{birthday} WHERE id = #{id}
	

	
	
		delete from user where
		id=#{id}
	






2.采用junit测试增删改查


/**     
 * @文件名称: TestUser.java   
 * @描述: TODO  
 * @作者:  一叶扁舟(skiff)
 * @时间:2018年1月9日 上午10:16:07  
 * @版本:V1.0     
 */ 
package test.com.skiff.www.testUser;

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.Before;
import org.junit.Test;

import com.skiff.www.domain.User;

/**  
 * @类功能说明:    
 * @作者: 一叶扁舟 (skiff)
 * @创建时间:2018年1月9日 上午10:16:07  
 * @版本:V1.0  
 */
public class TestUser {
	
	
		private SqlSessionFactory sqlSessionFactory = null;
		
		@Before
		public void  init() throws IOException{
			SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
			
			//2.加载sqlMapConfig.xml文件
			InputStream is = Resources.getResourceAsStream("sqlMapConfig.xml");
			//3.创建一个factory工厂
			sqlSessionFactory = builder.build(is);
	
		}
		
		@Test
		public void testSelect(){
			User user = new User();
			user.setName("一叶扁舟");
			user.setAddress("福州");
			user.setSex("1");
			user.setBirthday(new Date());
//			4.创建一个session
			SqlSession  session  = sqlSessionFactory.openSession();
			
			// 5. 执行SqlSession对象执行查询,获取结果User
			// 第一个参数是User.xml的statement的id,第二个参数是执行sql需要的参数;
			User user1 = session.selectOne("queryUserId",1);

			// 6. 打印结果
			System.out.println(user1);

			// 7. 释放资源
			session.close();
			
		}
		
		@Test
		public void testSaveUser(){
			
			User user = new User();
			user.setName("一叶扁舟");
			user.setAddress("福州");
			user.setSex("1");
			user.setBirthday(new Date());
			SqlSession session = sqlSessionFactory.openSession();
			session.insert("saveUser",user);
			System.out.println(user);
			session.commit();
			session.close();
			
		}
		
		@Test
		public void queryName(){
			
			// 4. 创建SqlSession对象
			SqlSession sqlSession = sqlSessionFactory.openSession();

			// 5. 执行SqlSession对象执行查询,获取结果User
			// 查询多条数据使用selectList方法
			List list = sqlSession.selectList("queryUserByUsername1", "%张%");

			// 6. 打印结果
			for (Object user : list) {
				System.out.println(user);
			}

			// 7. 释放资源
			sqlSession.close();
		}
		
		
		@Test
		public void testQueryUserByUsername2() throws Exception {
			// 4. 创建SqlSession对象
			SqlSession sqlSession = sqlSessionFactory.openSession();

			// 5. 执行SqlSession对象执行查询,获取结果User
			// 查询多条数据使用selectList方法
			List list = sqlSession.selectList("queryUserByUsername2", "王");

			// 6. 打印结果
			for (Object user : list) {
				System.out.println(user);
			}

			// 7. 释放资源
			sqlSession.close();
		}
		@Test
		public void testUpdateUserById() {
			// 4. 创建SqlSession对象
			SqlSession sqlSession = sqlSessionFactory.openSession();

			// 5. 执行SqlSession对象执行更新
			// 创建需要更新的User
			User user = new User();
			user.setId(30);
			user.setName("关羽");
			user.setSex("1");
			user.setBirthday(new Date());
			user.setAddress("魔都");

			sqlSession.update("updateUserById", user);

			// 需要进行事务提交
			sqlSession.commit();

			// 7. 释放资源
			sqlSession.close();
		}
		
		@Test
		public void testDeleteUserById() {
			// 4. 创建SqlSession对象
			SqlSession sqlSession = sqlSessionFactory.openSession();

			// 5. 执行SqlSession对象执行删除
			sqlSession.delete("deleteUserById", 30);

			// 需要进行事务提交
			sqlSession.commit();

			// 7. 释放资源
			sqlSession.close();
		}
		
}
 
  










你可能感兴趣的:(mybatis)