MyBatisのクラス拡張後のまとめ

前回の講義では、UserMapper.xmlでfindByIdとfindAllの2つのクエリステートメントを定義し、それに応じてUserMapperインターフェイスでfindById(int id)とfindAll()の2つの抽象メソッドを定義しました。
1.補足コンテンツ、SQLセッションオブジェクトの取得にMyBatis設定ファイルを使用しないでください
(1)公式ウェブサイトで情報を表示する
ここに画像の説明を挿入します
記事全体が英語であり、Youdao辞書で翻訳しました。
ここに画像の説明を挿入します

(2)UserDataSourceFactoryという名前の新しいオブジェクトを作成します。ここに画像の説明を挿入します
(3)コードを書く

public class TestUserMapperNew {
    
    
    private SqlSession sqlSession;//SQL会话
    private UserMapper userMapper;//用户映射器

    @Before
    public void init() {
    
    
        //获取数据源
        DataSource dataSource = new PooledDataSource("com.mysql.jdbc.Driver",
                "jdbc:mysql://localhost:3306/testdb?useSSL=false","root","123456");
        //创建事务工厂
        TransactionFactory transactionFactory = new JdbcTransactionFactory();
        //创建数据库环境
        Environment environment = new Environment("development",transactionFactory,dataSource);
        //基于环境创建配置对象
        Configuration configuration = new Configuration(environment);
        //添加用户映射器配置接口
        configuration.addMapper(UserMapper.class);
        // 基于MyBatis配置对象构建SQL会话工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configuration);
        // 利用SQL会话工厂获取SQL会话
        sqlSession = factory.openSession();
        //利用SQL会话获取用户映射器对象
        userMapper = sqlSession.getMapper(UserMapper.class);
        // 提示用户SQL会话创建成功
        System.out.println("sqlSession对象已创建。");
    }

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

    @Test
    public void testFindAll() {
    
    
        List<User> users = userMapper.findAll();
        users.forEach(user -> System.out.println(user));
        System.out.println();
        for(int i = 0; i< users.size();i++){
    
    
            System.out.println(users.get(i));
        }
        System.out.println();
        for (User user:users){
    
    
            System.out.println(users);
        }
    }

    @After
    public void destroy() {
    
    
        // 关闭SQL会话
        sqlSession.close();
        // 提示用户SQL会话对象关闭
        System.out.println("sqlSession对象已关闭。");
    }
}

(4)テストを実行しますテストクラスTestUserMapperNewでTestFindByIdメソッドを実行します
ここに画像の説明を挿入します

ユーザーマッパーインターフェイスを変更します
ここに画像の説明を挿入します
(5)テストを実行しますテストクラスで
ここに画像の説明を挿入します
TestFindByIdメソッドを実行しますTestUserMapperNew (6)テストを実行しますTestFindAllメソッド
ここに画像の説明を挿入します
実行に戻ると、プログラムはエラーを報告します。
テストTestFindByIdメソッドを実行する
ここに画像の説明を挿入します
UserMapperインターフェイスの抽象メソッドに追加されたアノテーションを削除してから、エラーを報告せずにテストメソッドを実行します。
ここに画像の説明を挿入します
テストを実行しますTestFindByIdメソッド
ここに画像の説明を挿入します
クラス後の概要:
補足コンテンツで、MyBatis構成ファイルを使用してSQLセッションオブジェクトを取得せずに、データベース環境の作成時に問題が発生しました。ユーザーマッパー構成インターフェイスは使用されません。開始方法がわかりません。先生からの情報ではわかりませんでした。記事全体が英語です。有道辞書のおかげで少しは理解できたと思います。SQL会話ファクトリーベースの構築の知識ポイントについては完全に混乱しています。 MyBatis構成オブジェクトについて話しましたが、ほとんど理解できません。クラスでの学習状況から判断すると、次の学習プロセスではさらに多くの作業を行う必要があります。

おすすめ

転載: blog.csdn.net/triet/article/details/114517832