mybatis生成代碼解析--user示例

package cn.itcast.ssm.mapper;

import java.io.Reader;
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 cn.itcast.ssm.po.User;
import cn.itcast.ssm.po.UserExample;
import cn.itcast.ssm.po.UserExample.Criteria;

public class UserMapperTest {
	private SqlSessionFactoryBuilder builder;
	private SqlSessionFactory factory;
	private SqlSession sqlSession;
	/**
	 * Junit 測試初始化函數
	 * @throws Exception
	 */
	@Before
	public void init() throws Exception {
		//1.獲取數據庫會話工廠構建者
		this.builder = new SqlSessionFactoryBuilder();
		//2.加載核心配置文件SqlMapConfig.xml
		Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
		//3.獲取SQLSession工廠
		this.factory = builder.build(reader);
		//4.獲取SQLSession
		this.sqlSession = factory.openSession();
	}
	@Test
	public void findUser() throws Exception {
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		UserExample example = new UserExample();
		String value = "";
		String value1 = "";
		String value2 = "";
		List<String> values = null;
		Criteria criteria = example.createCriteria();
		// 	where XXX between value1 and value2
		criteria.andAddressBetween(value1, value2);
		//	where XXX = value 
		criteria.andAddressEqualTo(value);
		// where XXX > value
		criteria.andAddressGreaterThan(value);
		// where XXX >= value
		criteria.andAddressGreaterThanOrEqualTo(value);
		// where XXX in (values[0],values[1],values[n],)
		criteria.andAddressIn(values);
		// where XXX!=''
		criteria.andAddressIsNotNull();
		// where xxx=''
		criteria.andAddressIsNull();
		// where XXX < value
		criteria.andAddressLessThan(value);
		//where xxx <= value
		criteria.andAddressLessThanOrEqualTo(value);
		// where xxx like value
		criteria.andAddressLike(value);
		// where xxx not between value1 and value2
		criteria.andAddressNotBetween(value1, value2);
		// where xxx != value
		criteria.andAddressNotEqualTo(value);
		// where xxx not in (values[0],values[1],values[n],,,,);
		criteria.andAddressNotIn(values);
		// where xxx not like value
		criteria.andAddressNotLike(value);
		Integer id =null;
		User user = null;
		// 根據條件查詢
		userMapper.selectByExample(example);
		//	根據主鍵查詢
		userMapper.selectByPrimaryKey(id);
		// 根據條件刪除
		userMapper.deleteByExample(example);
		//	根據主鍵刪除
		userMapper.deleteByPrimaryKey(id);
		// 根據條件查詢個數
		userMapper.countByExample(example);
		// 插入記錄,並且如果某屬性爲空,且該列有默認值,使用空值
		userMapper.insert(user);
		//	插入紀錄,並且如果某屬性爲空,且該列有默認值,則使用默認值
		userMapper.insertSelective(user);
		// 	根據example更新記錄,user爲空的屬性也會進行更新爲空
		userMapper.updateByExample(user, example);
		// 	根據example更新記錄,user爲空的屬性忽略,不更新
		userMapper.updateByExampleSelective(user, example);
		//	根據user.id更新記錄,user爲空的屬性也會更新爲空
		userMapper.updateByPrimaryKey(user);
		//	根據user.id更新記錄,user爲空的屬性忽略,保存原有值
		userMapper.updateByPrimaryKeySelective(user);
	}
	
}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章