您的位置:首页 > 数据库

Mybatis 使用Mapper接口的Sql动态代码方式进行CURD和分页查询

2015-12-16 16:58 801 查看
1、Maven的pom.xml

View Code
2、配置文件

2.1、db.properties

View Code
2.2、mybatis.xml

View Code
2.3、log4j.xml

View Code
3、MybatisUtil工具类

View Code
4、Mapper映射文件

package com.mcs.test;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.mcs.entity.Employee;
import com.mcs.entity.EmployeeCustom;
import com.mcs.mapper.EmployeeMapper;
import com.mcs.util.MybatisUtil;

public class TestEmployeeMapper {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(TestEmployeeMapper.class);

private EmployeeMapper employeeMapper;
private SqlSession sqlSession = null;

@Before
public void init() {
sqlSession = MybatisUtil.getSqlSession();
employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
}

@After
public void destory() {
MybatisUtil.closeSqlSession();
}

@Test
public void testFindById() throws Exception {
Employee employee = employeeMapper.findById(1);
logger.debug(employee);
}

@Test
public void testFindAll() throws Exception {
List<Employee> employees = employeeMapper.findListByDynamic(null);
logger.debug(employees);
Long totalNumber = employeeMapper.findListByDynamicCount(null);
logger.debug("共" + totalNumber + "条记录");
}

@Test
public void testAdd() throws Exception {
Employee employee = new Employee();
employee.setName("赵小凤");
employee.setSex("female");
employee.setBirthday(new Date());
employee.setEmail("xiaofeng@126.com");
try {
employeeMapper.add(employee);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}

logger.debug(employee);
}

@Test
public void testEditById() throws Exception {
Employee employee = employeeMapper.findById(13);
employee.setDepartmentId(3);
employee.setAddress("天津");

try {
employeeMapper.updateById(employee);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}

logger.debug(employee);
}

@Test
public void testDeleteById() throws Exception {
Employee employee = employeeMapper.findById(13);
logger.debug(employee);
try {
employeeMapper.deleteById(13);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}

logger.debug("已成功删除员工:" + employee.getName());
}

@Test
public void testFindListByParam() throws Exception {
EmployeeCustom employeeCustom = new EmployeeCustom();
employeeCustom.setSex("male");
employeeCustom.setPageNo(0 * 5);
employeeCustom.setPageSize(5);

List<Employee> employees = employeeMapper.findListByDynamic(employeeCustom);
for (Employee employee : employees) {
logger.debug(employee.getName());
}

Long totalNumber = employeeMapper.findListByDynamicCount(employeeCustom);
if (employees.size() > 0) {
logger.debug("当前第" + (employeeCustom.getPageNo() + 1) + "页");
logger.debug("每页" + employeeCustom.getPageSize() + "条记录");
logger.debug("共" + totalNumber + "条记录");
}
}

@Test
public void testDynamicUpdateByID() throws Exception {
Employee employee = new Employee();
employee.setId(13);
employee.setName("张丽");

try {
employeeMapper.dynamicUpdateById(employee);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}

}

@Test
public void testDynamicDeleteByArray() throws Exception {
Integer[] ids = new Integer[] { 10, 12, 13 };
try {
employeeMapper.dynamicDeleteByArray(ids);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}
}

@Test
public void testDynamicDeleteByList() throws Exception {
List<Integer> ids = new ArrayList<Integer>();
ids.add(10);
ids.add(12);
ids.add(13);

try {
employeeMapper.dynamicDeleteByList(ids);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}
}

@Test
public void testDynamicInsert() throws Exception {
Employee employee = new Employee();
employee.setName("赵小梅");
employee.setSex("female");

try {
employeeMapper.dynamicInsert(employee);
sqlSession.commit();
} catch (Exception e) {
e.printStackTrace();
sqlSession.rollback();
throw e;
}
}

}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: