MyBatis案例三:实现数据增删改操作

MyBatis案例三:实现数据增删改操作

  1. 在DeptMapper接口中添加方法:
	public int insert(Dept dept);
	public int update(Dept dept);
	public int delete(int deptno);
  1. 在DeptMapper.xml文件中添加
<insert id="insert" >
		insert into dept 
		values(#{deptno},#{dname},#{loc})
	</insert>
	
	<update id="update">
		update dept
		set dname = #{dname},loc=#{loc}
		where deptno = #{deptno}
	</update>
	
	<delete id="delete">
		delete from dept where deptno = #{no}
	</delete>

3.测试类(注意要调用session.commit()方法)

	@Test
	public void testInsert() throws IOException{
		InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);		
		SqlSession session = factory.openSession();
		DeptMapper deptMapper = session.getMapper(DeptMapper.class);
		Dept dept = new Dept(31,"hr","bj");
		int n = deptMapper.insert(dept);
		session.commit();
		System.out.println(n);
	}
	
	@Test
	public void testUpdate() throws IOException{
		InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);		
		SqlSession session = factory.openSession();
		DeptMapper deptMapper = session.getMapper(DeptMapper.class);
		Dept dept = new Dept(31,"hr2","dl");
		int n = deptMapper.update(dept);
		session.commit();
		System.out.println(n);
	}
	
	@Test
	public void testDelete() throws IOException{
		InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);		
		SqlSession session = factory.openSession();
		DeptMapper deptMapper = session.getMapper(DeptMapper.class);
		
		int n = deptMapper.delete(31);
		session.commit();
		System.out.println(n);
	}

4.改进单元测试,提取出setUp()、after()方法

public class DeptMapperTest {
	private DeptMapper deptMapper;
	private SqlSession session;
	@Before
	public void setUp() throws IOException{
		InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);		
		session = factory.openSession();
		deptMapper = session.getMapper(DeptMapper.class);
	}
	
	@After
	public void after(){
		session.close();
	}

	@Test
	public void testGetAll() throws IOException {
		deptMapper = session.getMapper(DeptMapper.class);
		List<Dept> list = deptMapper.getAll();
		System.out.println(list);
	}
	@Test
	public void testGetById() throws IOException{
		Dept dept = deptMapper.getById(31);
		System.out.println(dept);
	}
	
	@Test
	public void testInsert() throws IOException{
		Dept dept = new Dept(31,"hr","bj");
		int n = deptMapper.insert(dept);
		session.commit();
		System.out.println(n);
	}
	
	@Test
	public void testUpdate() throws IOException{
		Dept dept = new Dept(31,"hr2","dl");
		int n = deptMapper.update(dept);
		session.commit();
		System.out.println(n);
	}
	
	@Test
	public void testDelete() throws IOException{
		DeptMapper deptMapper = session.getMapper(DeptMapper.class);
		
		int n = deptMapper.delete(31);
		session.commit();
		System.out.println(n);
	}
}

5.添加log4j依赖

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>	

6.在src/main/java下添加log4j属性文件:log4j.properties,重新执行以上单元测试,看控制台输出内容

	# Global logging configuration
	log4j.rootLogger=DEBUG, stdout
	# Console output...
	log4j.appender.stdout=org.apache.log4j.ConsoleAppender
	log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
	log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

猜你喜欢

转载自blog.csdn.net/pcbhyy/article/details/83715401