1、创建mybatisdemo.mapper包,在里面创建接口UserMapper
确定配置路径是否正确:
2.创建测试程序TestUserMapper
详细代码如下:
package mybatisdemo.mapper;
import mybatisdemo.User;
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 java.io.IOException;
import java.io.Reader;
import java.util.List;
/**
* Created by howard on 2017/2/15.
*/
public class TestUserMapper {
private SqlSession session;
private UserMapper userMapper;
@Before
public void init() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
session = factory.openSession();
userMapper = session.getMapper(UserMapper.class);
System.out.println("session对象已创建。");
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testFindById() {
int id = 1;
User user = userMapper.findById(id);
System.out.println(user);
}
@Test
public void testFindAll() {
List<User> users = userMapper.findAll();
for (User user : users) {
System.out.println(user);
}
}
@After
public void destroy() {
session.close();
System.out.println("session对象已关闭。");
}
}
3、运行测试程序
(1)运行testFindById()方法
(2)运行testFindAll()方法
4.不使用 XML 构建 SqlSessionFactory
如果你更愿意直接从 Java 代码而不是 XML 文件中创建配置,或者想要创建你自己的配置建造器,MyBatis 也提供了完整的配置类,提供了所有与 XML 文件等价的配置项。
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
4.(1) 创建 BlogDataSourceFactory类
4.(2)更改测试类
运行一下
- 说明:用户映射器接口里的抽象方法findById()没有绑定有效的SQL语句,需要修改用户映射器接口的抽象方法,添加注解,绑定SQL语句。
4.(3)在UserMapper接口类添加注解
- 这时就运行成功了