基于接口方式使用MyBatis
1.创建数据源UserDataSourceFactory

public class UserDataSourceFactory {
//配置数据池信息
public static DataSource getUserDataSource(){
return new PooledDataSource("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/testdb?useSSL=false","root","12345");
}
2.在测试方法获取数据源
public void init() {
//获取数据源
DataSource dataSource = UserDataSourceFactory.getUserDataSource();
//创建事务工厂
TransactionFactory transactionFactory = new JdbcTransactionFactory();
//创建数据库环境
Environment environment = new Environment("development",transactionFactory,dataSource);
//基于环境创建配置对象
Configuration configuration = new Configuration(environment);
//添加用户映射器接口
configuration.addMapper(UserMapper.class);
// // 读取MyBatis配置文件
// Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
// 基于MyBatis配置文件构建SQL会话工厂 render || 配置对象构建sql会话 configuration
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configuration);
// 利用SQL会话工厂获取SQL会话
sqlSession = factory.openSession();
// 利用SQL会话获取用户映射器对象
userMapper = sqlSession.getMapper(UserMapper.class);
// 提示用户SQL会话创建成功
System.out.println("sqlSession对象已创建。");
}
3.配置UseMapper接口
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(int id);
@Select("SELECT * FROM user")
List<User> findAll();
}
4.测试代码
@Test
public void testFindAll() {
List<User> all = userMapper.findAll();
all.forEach(user -> System.out.println(user));
System.out.println();
}
结果

@Test
public void testFindById() {
int id = 3;
User user = userMapper.findById(id);
if (user != null) {
System.out.println(user);
} else {
System.out.println("编号为[" + id + "]的用户未找到。");
}
}
结果

160

被折叠的 条评论
为什么被折叠?



