package test;
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.After;
import org.junit.Before;
import org.junit.Test;
import pojo.Dept;
import pojo.Employee;
import java.io.IOException;
import java.io.Reader;
import java.util.Date;
public class MybatisTest {
String resource = "mybatis-config.xml";//配置文件名
Reader reader = null; //读取配置文件的工具
SqlSession session = null;
@Before
public void open(){
//使用MyBatis提供的Resources类加载mybatis的配置文件
try {
reader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory =
new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
session = sessionFactory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
@After
public void close(){
//关闭资源
if (session != null) {
session.close();
}
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Test
public void testInsert() {
try {
//创建实体对象,将它insert到数据库中
Dept dept = new Dept();
dept.setName("获取ID2");
session.insert("DEPT.insertDept",dept);
// session.insert("DEPT.addDept","dept");
session.commit();//增删改要提交事务
//insert标签中设置keyProperty和useGeneratedKeys后才能看到值,否则是null
System.out.println(dept.getId());
} catch (Exception ex) {
ex.printStackTrace();
session.rollback();//有异常事务回滚
}
}
@Test
public void InsertEmployee() {
try {
//创建实体对象,将它insert到数据库中
Employee e = new Employee();
e.setName("张三");
e.setBirthday(new Date());
e.setDept(2);
e.setSalary(9809F);
session.insert("EMPLOYEE.insertEmployee",e );
session.commit();//增删改要提交事务
//insert标签中设置keyProperty和useGeneratedKeys后才能看到值,否则是null
System.out.println(e .getId());
} catch (Exception ex) {
ex.printStackTrace();
session.rollback();//有异常事务回滚
}
}
}
MyBatis提取测试方法
最新推荐文章于 2022-08-22 10:08:15 发布